我正在尝试从多个表中导出XLS格式。我已经浏览并使用了一些代码,但它不起作用。使用素数扩展代码在那里,但完整的代码不存在,似乎在这个链接。我需要解决方案。
我使用过的代码:Tbl1、Tbl2、Tbl3 是表格 widgetVar。
<p:commandLink id="xls" ajax="false" >
<p:graphicImage value="/images/excel.png" />
<pe:exporter type="xlsx" target="Tbl1, Tbl2, Tbl3" fileName="tables"/>
</p:commandLink>
你不应该通过widgetVar来称呼它们。来自PrimeFaces Extensions Exporter(强调我的):
在这里,我们可以通过提供多个数据表服务器 ID 来导出多个表,分隔符为"逗号"(或",")。
我使用 primefaces 6.2,这对我有用(我不确定其他版本),而无需使用素数扩展
<p:dataTable id="tbl1" value="#{ManagedBean.listValues}" var="vt">
<p:column headerText="LabelPrint">
<h:outputText value="#{vt.id}"/>
</p:column>
</p:dataTable>
<p:dataTable id="tbl2" value="#{ManagedBean.otherList}" var="vt2">
<p:column headerText="Name Field Print">
<h:outputText value="#{vt2.name}"/>
</p:column>
</p:dataTable>
<h:commandLink>
<p:graphicImage url="#{resource['/images/icons/table-xls.png']}"/>
<p:dataExporter type="xls" target="tbl1, tbl2" fileName="My Data" pageOnly="true" />
</h:commandLink>
您将要导出的表的"id"与 p:dataexporter 对象的属性目标中的 (,) 分隔开来。