25

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を使用します。これは良い解決策ですか?代替案はありますか?

4

2 に答える 2

-5

私の知る限り、このコードを使用して.xls形式のExcelファイルを読み取ることができます

FileInputStream in=new FileInputStream(new File("filename.xls"));
Wookbook wb=new HSSFWorkbook(in);

新しい Excel バージョン (2007 以降) を読むには:

 FileInputStream in=new FileInputStream(new File("filename.xls"));
    Wookbook wb=new XSSFWorkbook(in);

必要な外部 jar ファイル:

 1. poi-3.9 
 2. dom4j-1.6.1
 3. XMLbeams-2.5.0

仕事で .xls のみを使用する必要がある場合は、poi-3.0 だけで十分です。新しいバージョンの Excel を使用するには、他の jar ファイルが必要です。

于 2014-03-04T04:05:28.160 に答える