java - java excel api 可以满足我的要求吗?

标签 java excel apache-poi

问题描述:我想在Excel工作表中加载图像像素数据。

我尝试过:使用apache POI将数据写入excel,但我发现apache POI有一些限制(如下所述) 我已经了解了一些解决方法,这些方法对于程序员来说很乏味,而且我不太愿意为这样一个看起来微不足道的任务这样做。

详细信息:

我使用 apache POI 已经有一段时间了,但我遇到了一些限制:

  • 整个文件同时存在于内存中,因此无法直接用于更大的文件。

(特定于 HSSF):

  • 不超过 255 列
  • 不超过 4000 种单元格样式
  • 不能直接使用自定义颜色。

我的要求是逐像素读取图像(例如,1024x764)并将像素值写入Excel工作表的行和列中,每个不同的像素值的样式都不同。

我遇到的问题是:

  • 写入 Excel 工作表时出现内存不足异常,因为行/列和样式太多
  • 编写重用样式的逻辑会减慢整个程序的速度
  • 即使我重复使用样式,如何处理大量的行/列

我了解到这些问题有解决方法:

  • 重用样式
  • 编写逻辑以高效使用内存

但我不打算为这么简单的工作付出太多的努力,而且由于这些并不是 excel 的直接限制(至少不是 .xlsx),所以我正在寻找一个可以为我做这件事的库。

有人可以建议另一个可以做到这一点的库吗?或者你可以建议一些更简单的解决方法来解决这些问题吗?

最佳答案

can someone please suggest a good library to do this, or else i would change from java to csharp

简而言之,不 - 根据我的经验,POI 库是最适合这项工作的库。它们并不完美,但我不知道有更好的替代方案。您可能想尝试checking trunk out并查看您的任何问题是否已在那里得到解决 - 完全有可能,这是一个相对活跃的项目。

我建议查看的唯一其他内容是 OpenOffice API ,但请注意,需要安装 OO(或与您的应用程序一起分发。)

老实说,POI 的优势在于它的跨平台特性 - 它是一个纯 Java 实现,没有 native 组件。如果您不关心这一点,因此可以使用 C# 并使用 native Office API,那么这看起来肯定是合乎逻辑的方法吗?我觉得奇怪的是你还没有这样做。

关于java - java excel api 可以满足我的要求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20546081/

相关文章:

python - 无法使用 xlsxwriter 库将数据导出到 Excel

VBA - 如何从网站下载.xls并将数据放入Excel文件

Excel 旋转雷达图

java - 使用数据库连接创建 .xlsx

java - 如何检查sheet是否存在?

java - Gradle库具有不同的版本

Java JUnit 测试找不到类

java - 理解tomcat/spring boot多线程

java - 使用 Apache POI 写入 xlsx 文件,在文件的最后一列中获得预期答案

java - 如何使用 Java API 从 Lotus Notes 文档获取准确的邮件地址?