我在我的应用程序中使用 apache poi 和 JSF 2.0 来生成 Excel 格式的报告。
截取代码以生成 Excel。
final FacesContext facesContext = FacesContext.getCurrentInstance();
final ExternalContext externalContext = facesContext
.getExternalContext();
externalContext.setResponseContentType("application/vnd.ms-excel");
externalContext.setResponseHeader("Content-Disposition",
"attachment; filename=\"Excel Sample");
workbook.write(externalContext.getResponseOutputStream());
facesContext.responseComplete();
如您所见,我正在为服务器添加“application/vnd.ms-excel”- MIME 类型。我只是想知道我们是否可以将 MIME 类型更改为 CSV。我不再为报告生成 Excel 文件。
还有另一个函数,我从数据库中获取数据并使用 HSSF 对象将其写入单元格。我在将数据写入每个单元格后调用此方法(代码片段)。
我应该写什么
externalContext.setResponseContentType("application/vnd.ms-excel");
这样它就会生成带有 csv 扩展名的文件。
最佳答案
CSV 文件的正常 mimetype 是 text/csv
生成文件时,请务必正确引用值。使用现有的库来确保完成可能是值得的,特别是如果您有复杂的值
关于java - 在 JSF 2.0 中生成 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876187/