Performance 是否有一个库用于在没有(慢速)COM API(互操作)的情况下操作Excel.xlsb(BIFF12)文件?

Performance 是否有一个库用于在没有(慢速)COM API(互操作)的情况下操作Excel.xlsb(BIFF12)文件?,performance,excel-2007,excel-2010,xlsb,Performance,Excel 2007,Excel 2010,Xlsb,我在网上发现了许多Excel2007/2010文件处理库,其中一些独立于微软Office的COM API。有的是免费的,有的是现金。大多数(如果不是全部的话)都支持旧的二进制.xls(Excel 97-2003 BIFF8)格式以及非二进制Office Open XML.xlsx,但是.xlsx的加载时间是.xlsb的4倍[1],并且.xls只支持256列 [1] 而且.xlsx的保存速度比.xlsb慢2倍。我在生成的工作表上测试了这一点,该工作表包含10000行*1000列=10000(10

我在网上发现了许多Excel2007/2010文件处理库,其中一些独立于微软Office的COM API。有的是免费的,有的是现金。大多数(如果不是全部的话)都支持旧的二进制.xls(Excel 97-2003 BIFF8)格式以及非二进制Office Open XML.xlsx,但是.xlsx的加载时间是.xlsb的4倍[1],并且.xls只支持256列


[1] 而且.xlsx的保存速度比.xlsb慢2倍。我在生成的工作表上测试了这一点,该工作表包含10000行*1000列=10000(10^7)个简单链式
=…+1
公式单元格:

╭─────────────╥────────┬────────╮
│              ║ .xlsx  │ .xlsb  │
╞══════════════╬════════╪════════╡
│ loading time ║ 165s   │  43s   │
├──────────────╫────────┼────────┤
│ saving time  ║ 115s   │  61s   │
├──────────────╫────────┼────────┤
│ file size    ║  91 MB │  65 MB │
╰─────────────╨────────┴────────╯
该测试已在运行Windows 7的计算机上执行,该计算机具有Core2Duo 2.3 GHz处理器、4 GB RAM和5400 rpm SATA II硬盘;计算机承受着来自其他进程的较重负载。

支持
.xlsb
,但可能(尚未)支持完整的功能集

我很肯定(出于几个原因)他们不使用COM

Aspose.细胞1000美元以上。免费试用是免费的



有其他选择吗?

当前稳定版本的LibreOffice(3.5.0)和OpenOffice.org(3.2.0)可以读取.xlsb,但不能写入它

(所以这对我没有帮助,但是)如果有人需要一个免费模块来阅读.xlsb,并且手头有时间,他们可以尝试这些开源项目的存储库中的模块


人们还可以检查其他自由和开放源码软件办公套件项目是否实现了类似的功能。如果您愿意,请在这里发布结果。

如果您喜欢使用java库,我建议使用。但你必须从999美元开始付款

另一种方法是使用libreoffice命令行实用程序,要读取xlsb文件,必须先将其转换为csv。从终端:

libreoffice --headless --convert-to csv your_csv_file.csv --outdir /path/csv
对于使用UTF-8的转换编码:

iconv -f ISO-8859-1 -t UTF-8 your_csv_file.csv > new_file_csv.csv
如果您不能调用microsoft office本机功能来处理XLSB文件,这是迄今为止我找到的最佳解决方案