Description
` public static void noModelMultipleSheet() {
InputStream inputStream=null;
try {
inputStream = new FileInputStream("C:\Users\xurong\Desktop\abc.xlsx");
ExcelReader reader = new ExcelReader(inputStream,null,
new AnalysisEventListener<List<String>>() {
@Override
public void invoke(List<String> object, AnalysisContext context) {
System.out.println(
"当前sheet:" + context.getCurrentSheet().getSheetNo() + " 当前行:" + context.getCurrentRowNum()
+ " data:" + object);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
});
reader.read();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}`
com.alibaba.excel.exception.ExcelAnalysisException: Analyse excel occur file error fileType XLSX
at com.alibaba.excel.analysis.ExcelAnalyserImpl.getSaxAnalyser(ExcelAnalyserImpl.java:34)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:53)
at com.alibaba.excel.ExcelReader.read(ExcelReader.java:92)
at com.example.demo.DockerTestController.noModelMultipleSheet(DockerTestController.java:47)
at com.example.demo.DockerTestController.main(DockerTestController.java:26)
Caused by: org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or contents found, this is not a valid OOXML (Office Open XML) file
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:286)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:756)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:327)
at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.(XlsxSaxAnalyser.java:44)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.getSaxAnalyser(ExcelAnalyserImpl.java:31)
... 4 more
Activity
[-]解析excel 不传ExcelTypeEnum 就无法识别他的类型[/-][+]解析excel 用推荐的ExcelReader不传ExcelTypeEnum的方法 就无法识别他的类型[/+]rends commentedon Nov 7, 2018
我也遇到同样的问题
hello2z commentedon Nov 7, 2018
使用1.1.1不传ExcelTypeEnum会报错,内容如下:
com.alibaba.excel.exception.ExcelAnalysisException: Analyse excel occur file error fileType XLSX
at com.alibaba.excel.analysis.ExcelAnalyserImpl.getSaxAnalyser(ExcelAnalyserImpl.java:34)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:53)
at com.alibaba.excel.ExcelReader.read(ExcelReader.java:92)
at com.lib.easyexcel.service.ReadExcel.main(ReadExcel.java:19)
Caused by: org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or contents found, this is not a valid OOXML (Office Open XML) file
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:286)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:756)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:327)
at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.(XlsxSaxAnalyser.java:44)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.getSaxAnalyser(ExcelAnalyserImpl.java:31)
... 3 more
Maijh97 commentedon Nov 9, 2018
请问,问题解决了吗?
leTeng commentedon Nov 9, 2018
我使用POI4.0.0还会报错。下面有一个回答提供了一个解决方案:
bugfix: FileMagic.valueOf(in) 操作会消耗原始inputStream(markSupported=false的…
Chat2DB-Pro commentedon Nov 13, 2018
1.1.2-beat2处理了这个问题,但是如果是03版excel需要在输入流左一层new BufferedInputStream(new FileInputStream("/xxxx/xxx/77.xls")确保markSupported 返回true
lyqiai commentedon Jun 24, 2021
2.2.10同样的问题
xiuhulxc commentedon Feb 24, 2022
属实