Jsf 2 是否可以以编程方式存储PrimeFaces导出的数据?
我需要将导出的数据以字符串或excel格式存储到某个文件中,并希望使用电子邮件发送该文件 我目前的出口声明是Jsf 2 是否可以以编程方式存储PrimeFaces导出的数据?,jsf-2,primefaces,Jsf 2,Primefaces,我需要将导出的数据以字符串或excel格式存储到某个文件中,并希望使用电子邮件发送该文件 我目前的出口声明是 <p:dataExporter type="xls" target="tableWbTicketold" fileName="TicketOldReport" /> 你有两个选择: 使用后处理器:。 您可以在tableBean.postProcessXLS中通过电子邮件发送工作簿,但这不会阻止正常的流文件下载对话框 编写自己的DataExporter自定义组件,扩展PF
<p:dataExporter type="xls" target="tableWbTicketold" fileName="TicketOldReport" />
你有两个选择: 使用后处理器:。 您可以在tableBean.postProcessXLS中通过电子邮件发送工作簿,但这不会阻止正常的流文件下载对话框 编写自己的DataExporter自定义组件,扩展PF类并覆盖:DataExporter.processAction、ExcelExporter.export 更新 这样:
public void postProcessXLS(Object document)
{
try
{
Workbook wb = (Workbook) document;
File file = File.createTempFile("exporter-", ".xls");
FileOutputStream out = new FileOutputStream(file);
wb.write(out); // or write in mail body
out.close();
// do what you need with file
file.delete();
}
catch(IOException e)
{
e.printStackTrace();
}
}
是的,工作正常。问题是我想将导出的数据存储到其他地方。通过使用dataExporter,您可以下载文件,正如您所说,它已经工作了。您想将其存储在哪里?但是如何获取导出的文件,即后处理xls方法中的xls文件。