什么是从Java生成一个Excel数据文件最繁忙的方法?

我有一种情况,我被要求编写一个基本上通过JDBC执行任意SQL select的程序,将ResultSet转换为Excel中可加载的东西,并将其作为附件发送到电子邮件中。

问题在于使用什么数据格式以便尽可能多的不同版本的Excel加载。

我曾考虑过:

  • XLS – 本地格式,生成最简单的方法似乎与JExcel。
  • CSV – 逗号分隔的格式,必须使用分号而不是逗号来应付欧洲的十进制逗号,然后就是所有的引用内容。
  • HTML – 看来,Excel知道如何读取HTML表格。 将MIMEtypes设置为application/vnd.ms-excel应该足够了

但自然必须有其他有趣的方法来做到这一点。

我主要关心的是数据的错误解释:

  1. 带有十进制逗号的数字会在带有小数点的系统上被误解。
  2. 字符编码问题(我们不能依靠使用ISO-Latin-#的收件人)。
  3. date解释 – 我们早先已经发现YYYY-MM-DD格式非常强大。

我主要关心的是健壮性 。 如果我能指望结果是好的,我不介意编码的繁琐。

build议和经验分享?


我知道JSP生成的Excel电子表格(XLS)下载 – 该页面没有讨论健壮性。

我推荐Andy Khan的JExcel。 这是用Java处理Excel的最好的库。

Apache hssf

这一直是我从事Java开发工作的方法。

这是Horrible SpreadSheet Format的首字母缩写

生成Excel文件的快速方法来写出选项卡划定的文本并将其命名为<name>.xls 。 Excel将打开任何以.xls结尾的文本文件作为单个工作表。