gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:34:19 25 4
gpt4 key购买 nike

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

[1] 此外,.xlsx 的保存速度比 .xlsb 慢 2 倍。我在生成的工作表上对此进行了测试,该工作表具有 10'000 行 * 1'000 列 = 10'000'000 (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 硬盘的计算机上执行;计算机承受着来自其他进程的沉重负载。

最佳答案

如果您更喜欢使用 java 库,我建议您使用 Aspose.Cell .但您必须从 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 native 功能来处理 XLSB 文件,这是我迄今为止找到的最佳解决方案。

关于performance - 是否有用于在没有(慢速)COM API(互操作)的情况下操作 Excel .xlsb (BIFF12) 文件的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com