一个用于解决我的需求的java excel api?

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

我曾尝试过:使用apache POI写入数据,但我发现有一些在apache POI的限制(如下文详细说明)我已经了解了一些变通办法,这是繁琐的程序员和我我真的不愿意这样做,这样一个微不足道的任务。

细节:

我一直在使用Apache POI很长一段时间,我遇到了一些限制:

  • 整个文件在内存中,所以不能直接使用更大的文件。

(特定于HSSF):

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

我的要求是逐像素读取一个图像(比如1024×764),并在excel表格的行和列中写入像素值,每一个不同的像素值的风格都是不同的。

我遇到的问题是:

  • 内存不足exception,写入Excel表格时,由于有太多的行/列和样式
  • 编写重用样式的逻辑会减慢整个程序的速度
  • 即使我重复使用样式,如何处理大量的行/列

我已经知道有这些问题的解决方法:

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

但是我不打算为这么简单的工作承担很大的痛苦,而且由于这些并不是直接限制excel(至less不是.xlsx),所以我正在寻找一个可以为我做的图书馆。

有人可以请build议另一个图书馆,可以做到这一点,或者你可以build议一些更简单的解决方法这些问题?

有人可以请build议一个好的图书馆做到这一点,否则我会改变从java到csharp

简而言之,根据我的经验,POI图书馆是最好的工作。 他们不完美,但我不知道更好的select。 你可能想尝试检查中继线 ,看看你的任何问题是否已经解决 – 完全可能,这是一个相对活跃的项目。

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

尽pipe如此,POI的优势在于跨平台性 – 这是一个纯粹的Java实现,没有本地组件。 如果你不关心这个问题,那么可以使用C#和使用本地办公室的API,这看起来确实是合乎逻辑的方法? 对于我来说,你已经不这么做了。

JExcelApi http://jexcelapi.sourceforge.net/

它在声明模式下工作,如Adobe LifeCycle和JReport:你创build一个模板文件xls和在你把每个单元格的bean的引用。

调用引擎,最后你有一个XLS文件。

对于极端的综合,抱歉,但我很多年前一起工作,我不记得的细节,但在网站上有文件。