Apache POI プロジェクトに問題があります。
「同じ Java クラス」でXSSF
とを使用できませんでした。どの jar をダウンロードする必要がありますか、またはどのアーティファクトを maven に追加する必要がありますか?HSSF
xls
とxlsx
ファイルの両方を同時に処理したい。Excel のバージョン エラーが発生したら、XSSF を HSSF に、またはHSSF を XSSFに変更します。
これどうやってするの?
Apache POI プロジェクトに問題があります。
「同じ Java クラス」でXSSF
とを使用できませんでした。どの jar をダウンロードする必要がありますか、またはどのアーティファクトを maven に追加する必要がありますか?HSSF
xls
とxlsx
ファイルの両方を同時に処理したい。Excel のバージョン エラーが発生したら、XSSF を HSSF に、またはHSSF を XSSFに変更します。
これどうやってするの?
それを行う代わりに、新しいリリースの Apache POI 3.7 を使用してみてください。タイプを気にせずに HSSF と XSSF の両方を処理する SS パッケージがあります。
「標準」の SS パッケージ ソリューションとは別に、次のように を使用して、権利をオブジェクトif statement
に正しくロードすることもできます。workbook format
Workbook 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.");
}
代わりに、xssf と hssf の両方を処理するファクトリを使用してください
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
Workbook wb = WorkbookFactory.create(new File("file"))