代码之家  ›  专栏  ›  技术社区  ›  Thorbjørn Ravn Andersen

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

  •  0
  • Thorbjørn Ravn Andersen  · 技术社区  · 14 年前

    我遇到了这样一种情况:有人要求我编写一个程序,该程序基本上执行任意SQL select 通过JDBC,将结果集转换为可在Excel中加载的内容,并将其作为附件发送到电子邮件中。

    问题是要使用什么数据格式才能被尽可能多的不同版本的Excel加载。

    我考虑过:

    • XLS本机格式,最简单的生成方法似乎是使用JExcel。
    • CSV-逗号分隔格式,必须使用分号而不是逗号来处理欧洲十进制逗号,然后还有所有的引号。
    • HTML—似乎Excel知道如何读取HTML表。这样就足以将MIME类型设置为 application/vnd.ms-excel

    但很自然地,肯定还有其他有趣的方法。

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

    1. 带小数逗号的数字在带小数点的系统上会被误解。
    2. 字符编码问题(我们不能依赖收件人使用ISO拉丁语-#)。
    3. 日期解释-我们之前发现YYYY-MM-DD格式非常健壮。

    我主要关心的是 稳健性 . 如果我能指望结果是好的,我不介意编写代码太乏味。

    分享建议和经验?


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

    3 回复  |  直到 8 年前
        1
  •  1
  •   duffymo    14 年前

    我推荐安迪·汗的杰克塞尔。它是在Java中使用Excel的最佳库。

        2
  •  1
  •   NimChimpsky    14 年前

    Apache hssf

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

    它是 糟糕的电子表格格式

        3
  •  1
  •   Michael Shopsin    14 年前

    生成Excel文件的快速方法写出制表符描述的文本并命名 <name>.xls . Excel将打开以 .xls 作为一个工作表。