从Java生成Excel数据文件最强大的方法是什么?

时间:2010-11-17 15:35:27

标签: java excel export-to-excel

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

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

我考虑过:

  • XLS - 原生格式,最简单的生成方式似乎是使用JExcel。
  • CSV - 以逗号分隔的格式,必须使用分号代替逗号来处理欧洲小数点逗号,然后才会出现所有引用内容。
  • HTML - Excel似乎知道如何阅读HTML表格。将MIME类型设置为application/vnd.ms-excel
  • 就足够了

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

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

  1. 带小数点符号的数字在带小数点的系统上被误解。
  2. 字符编码问题(我们不能依赖使用ISO-Latin的收件人 - #)。
  3. 日期解释 - 我们之前发现YYYY-MM-DD格式非常强大。
  4. 我主要担心的是健壮性。我不介意编码很乏味,如果我可以指望结果是好的。

    分享的建议和经验?


    我知道JSP generating Excel spreadsheet (XLS) to download - 该页面没有讨论稳健性。

3 个答案:

答案 0 :(得分:1)

我推荐Andy Khan的JExcel。它是在Java中使用Excel的最佳库。

答案 1 :(得分:1)

Apache hssf

这一直是我在Java开发中工作的选择方法。

这是 Horrible SpreadSheet Format

的首字母缩写

答案 2 :(得分:1)

生成Excel文件以写出制表符分隔文本并将其命名为<name>.xls的快捷方法。 Excel将打开以.xls结尾的任何文本文件作为单个工作表。