除了"standard" 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.");
}
4 回答
除了"standard" SS包解决方案之外,您还可以简单地使用
if statement
将正确的workbook format
正确加载到Workbook interface
对象中,如下所示:使用工厂代替处理xssf和hssf
这对我有用:
不要这样做,尝试使用Apache POI 3.7的新版本,它有SS包,可以处理HSSF和XSSF而不用担心类型
详情:http://poi.apache.org/spreadsheet/index.html