web-dev-qa-db-ja.com

POIを使用して古いExcel.xlsファイルを処理する方法は?

POIにはより多くの機能があるため、jxlからpoiに切り替えました。ただし、古い形式で生成されたxlsファイルを処理できませんでした。今、私はこのエラーを受け取っています:

org.Apache.poi.hssf.OldExcelFormatException:提供されたスプレッドシートはExcel 5.0/7.0(BIFF5)形式のようです。 POIはBIFF8形式のみをサポートします(Excelバージョン97/2000/XP/2003から)

現在、xlsバージョンに応じてJXLとPOIの両方を使用することを考えているため、古い形式のxlsファイルにはjxlを使用し、新しいバージョンにはPOIを使用します。これは良い解決策ですか?代替手段はありますか?

23
Wael

古いExcel形式のファイルの場合、次の選択肢があります。

  1. [〜#〜] hssf [〜#〜] 、Excel '97(-2007)ファイル形式のPOI実装。
  2. すでに述べたように、 [〜#〜] jxl [〜#〜] はいくつかのケースも処理できます。
  3. JDBC/ODBC ドライバーを使用します。 HSSFほど柔軟ではありませんが、一部の古い形式では、情報を抽出する唯一の方法です。
14
dan