什么是从Java生成一个Excel数据文件最繁忙的方法?
我有一种情况,我被要求编写一个基本上通过JDBC执行任意SQL select
的程序,将ResultSet转换为Excel中可加载的东西,并将其作为附件发送到电子邮件中。
问题在于使用什么数据格式以便尽可能多的不同版本的Excel加载。
我曾考虑过:
- XLS – 本地格式,生成最简单的方法似乎与JExcel。
- CSV – 逗号分隔的格式,必须使用分号而不是逗号来应付欧洲的十进制逗号,然后就是所有的引用内容。
- HTML – 看来,Excel知道如何读取HTML表格。 将MIMEtypes设置为
application/vnd.ms-excel
应该足够了
但自然必须有其他有趣的方法来做到这一点。
我主要关心的是数据的错误解释:
- 带有十进制逗号的数字会在带有小数点的系统上被误解。
- 字符编码问题(我们不能依靠使用ISO-Latin-#的收件人)。
- date解释 – 我们早先已经发现YYYY-MM-DD格式非常强大。
我主要关心的是健壮性 。 如果我能指望结果是好的,我不介意编码的繁琐。
build议和经验分享?
我知道JSP生成的Excel电子表格(XLS)下载 – 该页面没有讨论健壮性。
我推荐Andy Khan的JExcel。 这是用Java处理Excel的最好的库。
Apache hssf
这一直是我从事Java开发工作的方法。
这是Horrible SpreadSheet Format的首字母缩写
生成Excel文件的快速方法来写出选项卡划定的文本并将其命名为<name>.xls
。 Excel将打开任何以.xls
结尾的文本文件作为单个工作表。