我想在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。 pmValue}“,”#{valuesTable.gaValue}“为csv文件中的每个对象。
CSV文件内容:
#{valuesTable.groupName} #{valuesTable.tkFormatedValue} #{valuesTable.pmFormatedValue} #{valuesTable.gaFormatedValue}
数据表内容:
Group Name Technical Knowledge Project Management Growth
India .8 .7 1.0
我不知道为什么以这种方式导出数据表。
请帮助
由于
答案 0 :(得分: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文件中看到标题。
答案 1 :(得分:0)
DataTable导出在Primefaces 4.0中不起作用
步骤1:您需要添加用于导出csv,pdf文件的jar。 iText的-1.1.4.jar
第2步:DataExplorar.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<p:panel header="Generate Report ">
<div>
<h:commandLink>
<p:graphicImage value="/images/pdf.png"
style="width:30px; hight:30px;" />
<p:dataExporter type="pdf" target="tb1"
fileName="fileName" />
</h:commandLink>
<h:commandLink>
<p:graphicImage value="/images/excel.png"
style="width:25px; hight:30px;" />
<p:dataExporter type="xls" target="tb1"
fileName="fileName" />
</h:commandLink>
</div>
</p:panel>