Java Apache POI未返回正确数量的工作表
我正在使用ApachePOI处理电子表格,如果电子表格有多个表格,我需要抛出一个异常。问题是,如果文件是.xlsx,它可以正常工作,但是如果文件是.xls,它总是给出0的大小。代码如下:Java Apache POI未返回正确数量的工作表,java,excel,apache-poi,spreadsheet,Java,Excel,Apache Poi,Spreadsheet,我正在使用ApachePOI处理电子表格,如果电子表格有多个表格,我需要抛出一个异常。问题是,如果文件是.xlsx,它可以正常工作,但是如果文件是.xls,它总是给出0的大小。代码如下: public void validateSpreadsheet(String ext) { if (ext.equals("xls") || ext.equals("xlsx") || ext.equals("xlsm")) { Workbook myWorkBook; t
public void validateSpreadsheet(String ext) {
if (ext.equals("xls") || ext.equals("xlsx") || ext.equals("xlsm")) {
Workbook myWorkBook;
try {
if (ext.equals("xls")) {
myWorkBook = new HSSFWorkbook();
} else {
myWorkBook = new XSSFWorkbook();
}
} catch (POIXMLException ex) {
throw ProdutoExceptions.OOXML_NOT_ALLOWED;
}
if(myWorkBook.getNumberOfSheets() > 1){
throw ProdutoExceptions.INVALID_NUMBER_OF_SHEETS;
}
}
重命名时,请确保使用HSSF读取.xls和XSSF到.xlsx文件 HSSF是POI项目的Excel 97-2007(.xls)文件格式的纯Java实现。
XSSF是POI项目的Excel 2007(.xlsx)文件格式的纯Java实现。Hmm您只是在创建一个新的空工作簿,它应该如何包含工作表?代码只是对我所做工作的改编。我保证它收到了一些东西。你需要发布实际的代码a,这是得到一个像样答案的唯一方法