无法使用Apache POI读取excel文件 - 获取异常

时间:2016-07-19 09:42:02

标签: java excel

请查找Apache POI java代码以阅读.xls文件。

FileInputStream file = new FileInputStream(new File("C:\\test.xls"));

            //Get the workbook instance for XLS file 
            HSSFWorkbook workbook = new HSSFWorkbook(file);

在使用Java Apache POI读取.xls文件时,我在Java控制台中收到以下错误。

java.io.IOException:无效的标头签名;读取0x6C6D783F3CBFBBEF,预期0xE11AB1A1E011CFD0 - 您的文件似乎不是有效的OLE2文档

我可以手动打开excel文件而不会出现任何问题。我们是否有解决方案来克服这个问题。我完全没有想法,所以非常感谢任何帮助/指示:)

1 个答案:

答案 0 :(得分:-1)

FileInputStream fis = new FileInputStream(new File(yourpath+"/WebContent/ProductUpload.xlsx"));
        XSSFWorkbook workbook = new XSSFWorkbook (fis);
        int numberOfSheets = workbook.getNumberOfSheets();

        for(int i=0; i < numberOfSheets; i++){

            XSSFSheet sheet = workbook.getSheetAt(i);
                Iterator ite = sheet.rowIterator();
                while(ite.hasNext()){
                    Row row = (Row)ite.next();
                        Iterator<org.apache.poi.ss.usermodel.Cell> cite = row.cellIterator();
                        while(cite.hasNext()){
                            org.apache.poi.ss.usermodel.Cell cell = cite.next();

                            }

                }
        }