我是JSF Web开发的新手。我有已提交的 xhtml 页面。用户单击提交按钮后,它将导出 excel 页面。我的代码与提交按钮配合得很好,但它在屏幕上打印表格。我需要帮助作为 excel 电子表格。
JSF 不提供任何将数据从<h:dataTable>
导出为特定格式的功能。您可以使用具有提供此功能的<p:dataExporter>
组件的PrimeFaces(外部库),请查看演示。
如果您不想使用PrimeFaces,那么您应该在操作中自己编写Excel文件,并使用动态创建的文件触发文件下载。下面是如何执行此操作的一小部分示例。
JSF 代码:
<h:dataTable value="#{bean.list}" var="item">
<!-- Columns and relevant data to show to users... -->
</h:dataTable>
<br />
<h:commandLink value="Export to Excel"
action="#{exporterBean.export(bean.list)}" />
爪哇代码:
@ManagedBean
@ApplicationScoped
public class ExporterBean {
public void export(List<?> data) {
//create the Excel file on the fly
//use Apache POI or another library to do it
//use the data in List<?> data to export the relevant data
//fire a file download...
}
}
相关信息:
- 在 JSF 中下载文件
- 在 Java 中创建 excel 文件