【问题标题】:Best way to export data from Java to MS Excel [closed]将数据从 Java 导出到 MS Excel 的最佳方法 [关闭]
【发布时间】:2012-04-17 07:49:30
【问题描述】:

我在 Internet 上搜索将数据从我的 Java 桌面应用程序导出到 Excel 的答案,我遇到了 Apache POI API。然后我发现 JDBC 可以工作,然后我偶然发现了JExcel。它们都一样好,还是我应该专注于其中最好的,是哪一个?

干杯。

【问题讨论】:

  • 请在此处找到可以在 Apache POI 和 JExcel 上使用的链接,因为它们是 Excel 文档的良好库。 Here
  • 具体导出多少?哪种格式? Excel 支持多种格式。最简单的是使用逗号分隔文件的 csv。这很容易生成。然后让excel保存为“真正的”excel格式。
  • Esben,该应用程序将允许用户生成报告。该报告通常是一个加载了几个值的 excel 文件。多大?我不完全确定,但我认为它不会太大。我询问 Excel 的原因是因为我希望应用程序采用设计的模板(用颜色、公司徽标等格式化),通过 java 应用程序输入数据,然后打开 excel 文件供用户使用查看和打印。我可以使用 CSV 走这条路吗?
  • 我也询问了JDBC,所以不能重复

标签: java excel


【解决方案1】:

为什么这么复杂?

只需 TAB 分隔列并将输出写入带有“.xls”扩展名的纯文本文件?

这样,您只需打开生成的“.xls”文件即可。即使它实际上只是一个 TAB 分隔的文本文件,Excel 也会打开它并自动将每个选项卡视为一个新列。

坦率地说,不知道为什么人们仍然使用 csv 文件。

【讨论】:

  • 迄今为止最好的答案。更简单的导出方式。
  • 这种方法的问题是当用户打开一个扩展名为“.xls”而不是xls的文件时会收到警告。
  • 确实,这不仅给我带来了警告问题,而且当用户请求电子表格中的任何样式时,例如斑马条纹行。
  • 不,这不是 XLS 导出!为什么 ?好吧,告诉我,如果你必须制作一些公式,你会怎么做?
  • 我们希望将 Excel 提供的数据(或任何其他电子表格应用程序)在样式表和数据表示方面导出到 Excel。您如何使用您的解决方案设计表格样式?
【解决方案2】:

我可能会迟到回答这个问题,但我想你的正确选择是 Jxls。我在我的模块中遇到了类似的情况,我必须保留某个模板,例如徽标、颜色、col-span、固定列……所以编写单独的 java 代码并设计它非常忙碌。

Jxls 核心是 poi,在语法上与 jstl 相似,您只需在 excel 中将 bean 的数组列表映射到所需的列

【讨论】:

    【解决方案3】:

    如果导出的excel文件很大,可能会出现outofmemory异常。 (是之前遇到的问题,不知道现在有没有改善。)

    最简单的方法是导出为 CSV 文件。

    【讨论】:

      【解决方案4】:

      最好的方法是对列进行制表符分隔,对行进行 \n 分隔。另存为 .xls。

      完美的解决方案:) ty Zeb

      【讨论】:

      • 您确定这是对问题的有效答案吗?
      • 是的,这不是一个好的解决方案。首先,问题是MS Excel会提示警告说“文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则不要打开它。”。其次,OP 想要添加格式和图像,这是无法做到的。这需要creating a real Excel file 或将数据写入template spreadsheet
      猜你喜欢
      • 1970-01-01
      • 2016-01-15
      • 2010-10-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多