将动态生成的表导出为ex​​cel

时间:2011-12-12 10:31:40

标签: java apache-poi export-to-excel

我有一个Java应用程序,其中报表以表格的形式动态生成。我需要在网页上有一个按钮,单击它会将表导出到Excel。该表必须由用户在客户端保存。我该如何实现此功能? Apache POI API会有用吗?

4 个答案:

答案 0 :(得分:1)

过去我成功使用了 POI ,但它有它的怪癖。我使用它的最好方法是在服务器中放置一个包含所有格式,颜色等的“模板”文件,并在导出时将其与数据一起复制并填充。

但是,如果您的数据是一个简单的以列为单位的表,并且您不必担心格式和数据类型,为什么不以纯文本格式导出数据? (CSV格式)这可以通过Excel打开,在导出数据时,在提高内存使用速度方面效率会更高。

生成也会简单得多,你可以使用自己的POJO生成器,这将更容易测试。

仅当用户需要专用日期格式或区分整数/文本单元格时才使用POI。或者,如果您需要动态计算的单元格(使用公式)如果不需要,您可以将所有内容导出为字符串,Excel将在打开csv文件时找到它。

答案 1 :(得分:1)

与此同时,还有一个客户端库(XLSX.js)可用。当您使用datatables之类的东西进行客户端过滤和排序时,可能会很方便。

答案 2 :(得分:0)

我的一些同事使用POI api来输出非常大的报告。我想现在它是最好的一个。

答案 3 :(得分:0)

另外考虑编写一个HTML格式的表格(Excel也可以读取它,包括比CSV更好的格式化)。

并且,查看JExcelAPI,我认为它比POI更容易使用。