1

Primefaces 4.0 の csv、pdf 形式でデータ テーブルをエクスポートしたい。そのために、次のコードを使用しました。

<p:dataTable var="valuesTable" value="#{userBean.groupResultList}"
    paginator="false" id="valuesTable" resizableColumns="true"
    rendered="#{not empty userBean.groupResultList}">
    <p:column headerText="Group" id="grp">                                                  #{valuesTable.groupName}</p:column>
    <p:column headerText="Technical Knowledge" id="tk">  
                                            #{valuesTable.tkValue}
                            </p:column>
    <p:column headerText="Project Management" id="pm">  
                                                #{valuesTable.pmValue}
                            </p:column>
    <p:column headerText="Growth" id="ga">  
                                                #{valuesTable.gaValue}
                            </p:column>
    <f:facet name="footer">
        <h:commandLink>
            <p:graphicImage value="/images/xml.jpeg" width="20" height="20" />
            <p:dataExporter target="valuesTable" type="xml" fileName="Data_XML" />
        </h:commandLink>
    </f:facet>
</p:dataTable>    

アプリケーションを実行すると、データ テーブルの各セルに正しいデータが表示されます。しかし、実際の数値 (またはオブジェクトの値) をエクスポートするのではなく、csv または pdf 形式でエクスポートしようとすると、"#{valuesTable.groupName}" "#{valuesTable.tkValue}" ,"#{valuesTable. csv ファイル内の各オブジェクトの pmValue}" ,"#{valuesTable.gaValue}"。

CSV ファイルの内容:

#{valuesTable.groupName}    #{valuesTable.tkFormatedValue}  #{valuesTable.pmFormatedValue}  #{valuesTable.gaFormatedValue}

データ テーブルの内容:

Group Name  Technical Knowledge   Project Management  Growth

India            .8                       .7            1.0

このようにデータテーブルをエクスポートする理由がわかりません..

助けてください

ありがとう

4

2 に答える 2

3

dataTable エクスポーターで一度同様の問題が発生しました。次のような outputText を使用する必要があります。

<h:outputText value="#{valuesTable.tkValue}"/> 

値を正しく表示するために、すべての列タグ内に。列は次のようになります。

<p:column headerText="Technical Knowledge" id="tk">  
     <h:outputText value="#{valuesTable.tkValue}"/>
</p:column>

すべての列を交換して試してみてください! それが役に立てば幸い!

また、ヘッダーは問題ないと思います。次のように f:facet タグを使用する必要があります。

<p:column id="tk">
     <f:facet name="header">  
        <h:outputText value="Technical Knowledge" />  
     </f:facet>  
     <h:outputText value="#{valuesTable.tkValue}"/>
</p:column>

これで、エクスポート CSV ファイルにもヘッダーが表示されるはずです。

于 2013-10-11T13:47:43.420 に答える