5

私のシステムでは Apache-POI を使用していくつかの xls ファイルを管理しています。現在、ほぼ 300 個の xls ファイルがありますが、それらは古い形式であるように見えるため、次の例外が発生しました。

提供されているスプレッドシートは、Excel 5.0/7.0 (BIFF5) 形式のようです。POI は BIFF8 形式のみをサポートします (Excel バージョン 97/2000/XP/2003 以降)

それを処理する方法、またはそれらすべてのファイルを自動的に biff8 形式に変換する方法はありますか?

4

2 に答える 2

7

OOXLS 形式に変換すると、POI は BIFF8 と新しい OOXLS の両方をサポートします。公式の Microsoft コンバーター パックをダウンロードします。

http://www.microsoft.com/en-us/download/details.aspx?id=3

を実行してファイルを変換しますexcelcnv.exe -oice <input file> <output file>。コードから外部プログラムとして直接実行するか、バッチファイルを作成してみてください。ここにソーシャル msdn の mrdivoからの良い説明があります。

編集

上記の microsoft.com からのダウンロードは、2018 年 6 月 21 日をもって利用できなくなりました。ただし、excelcnv.exe一部の Microsoft Office インストールの標準部分です。Office 2014 と Office 2016、およびおそらく他のバージョンで展開されることが確認されています。次の場所にあります。

C:\Program Files (x86)\Microsoft Office\root\Office16` (or `Office14`).
于 2013-07-31T08:46:25.340 に答える
0

apache-POI は BIFF5 フォーマットを扱えないようです。

代わりに Java Excel API を使用してみてください: http://jexcelapi.sourceforge.net/

于 2012-10-09T15:26:08.803 に答える