问题描述:我想在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/