首页 文章

如何知道apache POI使用gwt java读取excel所有数据

提问于
浏览
2

我正在使用java在gwt中使用Apache POI读取excel文件 . 我有一个excel文件,包含15000条记录和4列Count,Name,Mob No和EmailID . 我正在blobstore GAE上传excel文件,然后我正在读取那个excel文件 . 我只是用logger检查所有数据是否正在读取 . 当我部署并测试时,只有最后266行正在读取并显示在 Logger 中 . 为什么?如何从excel读取所有数据 . 我的代码是:

HSSFWorkbook workbook = new HSSFWorkbook(newBlobstoreInputStream(blobkey));
HSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();

        // Traversing over each row of XLSX file
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
        // For each row, iterate through each columns 
            Iterator<Cell> cellIterator = row.cellIterator(); 
            while (cellIterator.hasNext()) { 
                Cell cell = cellIterator.next();
                switch (cell.getCellType()) {
                case Cell.CELL_TYPE_STRING:
                   logger.log(Level.SEVERE,cell.getStringCellValue() + "\t");
                    break; 
                case Cell.CELL_TYPE_NUMERIC:                    
                   logger.log(Level.SEVERE,cell.getNumericCellValue() + "\t");
                   break; 
                 case Cell.CELL_TYPE_BOOLEAN: 
                   logger.log(Level.SEVERE,cell.getBooleanCellValue() +"\t");
                    break;
                default : 
                }
            } 
            System.out.println("");
        }

我该如何从头到尾阅读所有数据?任何帮助提前谢谢

还有一个是当我更改XSSFWorkbook和XSSFSheet而不是HSSFWorkbook和HSSFSheet来读取Xlsx excel时,它的抛出异常:org.apache.poi.poifs.filesystem.OfficeXmlFileException:提供的数据似乎在Office 2007 XML中 . 您正在调用处理OLE2 Office文档的POI部分 . 我怎样才能解决这个问题

任何帮助提前谢谢 .

1 回答

  • 1

    对于您获得的异常,.xls文件由HSSFWorkbook和HSSFSheet读取,而.xlsx由XSSFWorkbook和XSSFSheet读取 . 如果您要同时处理.xls和.xlsx格式,则可以使用Factory类来获取相应的工作簿 .

相关问题