4

Web上に多くのExcel2007/2010ファイル操作ライブラリがあり、そのうちのいくつかはMSOfficeのCOMAPIから独立しています。無料のものもあれば、(たくさんの)現金用のものもあります。すべてではないにしても、ほとんどの場合、古いバイナリ.xls(Excel 97-2003 BIFF8)形式と非バイナリのOffice Open XML .xlsxがサポートされますが、.xlsxは.xlsbよりも4倍長く[1]ロードされ、.xlsはサポートするだけです。 256列。


[1]また、.x​​lsxは.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 │
╰─────────────╨────────┴────────╯

テストは、Core2Duo 2.3 GHzプロセッサ、4 GB RAM、および5400 rpmSATAIIハードディスクを搭載したWindows7を実行しているコンピューターで実行されました。コンピュータは他のプロセスからやや重い負荷を受けていました。

4

3 に答える 3

1

Java ライブラリを使用したい場合は、Aspose.Cellを使用することをお勧めします。ただし、999 ドルから支払う必要があります。

もう 1 つの方法は、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

XLSB ファイルを処理するために Microsoft Office のネイティブ機能を呼び出すことができない場合、これが私がこれまでに見つけた最良の方法でした。

于 2014-06-25T05:18:25.873 に答える
0

LibreOffice (3.5.0) および OpenOffice.org (3.2.0) の現在の安定バージョンは、.xlsbを読み取ることはできますが、書き込むことはできません。

(それは私には役に立ちませんが) .xlsb を読むためだけに無料のモジュールが必要で、時間がある場合は、これらのオープン ソースプロジェクトのリポジトリにあるモジュールを試すことができます。

他の FOSS Office スイート プロジェクトがこのようなものを実装しているかどうかを確認することもできます。もしそうなら、ここに結果を投稿してください。

于 2012-03-12T13:47:40.907 に答える
0

Aspose.Cells has added support for .xlsb, but probably not (yet) the full feature set.

I'm pretty sure (for several reasons) they don't use COM.

Aspose.Cells costs 1000$ upwards. Free Trials are available.


Any alternatives?

于 2012-03-11T21:46:58.967 に答える