8

Apache POI プロジェクトに問題があります。

「同じ Java クラス」XSSFとを使用できませんでした。どの jar をダウンロードする必要がありますか、またはどのアーティファクトを maven に追加する必要がありますか?HSSF

xlsxlsxファイルの両方を同時に処理したい。Excel のバージョン エラーが発生したら、XSSF を HSSF に、またはHSSF を XSSFに変更します。

これどうやってするの?

4

4 に答える 4

13

それを行う代わりに、新しいリリースの Apache POI 3.7 を使用してみてください。タイプを気にせずに HSSF と XSSF の両方を処理する SS パッケージがあります。

詳細はこちら: http://poi.apache.org/spreadsheet/index.html

于 2010-11-24T13:15:42.137 に答える
6

「標準」の SS パッケージ ソリューションとは別に、次のように を使用して、権利をオブジェクトif statementに正しくロードすることもできます。workbook formatWorkbook interface

Workbook workbook; //<-Interface, accepts both HSSF and XSSF.
File file = new File("YourExcelFile.xlsx");
if (FileUtils.getFileExt(file).equalsIgnoreCase("xls")) {
  workbook = new HSSFWorkbook(new FileInputStream(file));
} else if (FileUtils.getFileExt(file).equalsIgnoreCase("xlsx")) {
  workbook = new XSSFWorkbook(new FileInputStream(file));
} else {
  throw new IllegalArgumentException("Received file does not have a standard excel extension.");
}
于 2012-08-15T15:45:29.233 に答える
1

代わりに、xssf と hssf の両方を処理するファクトリを使用してください

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;

Workbook wb = WorkbookFactory.create(new File("file"))
于 2018-01-29T14:27:13.627 に答える