alibaba / easyexcel

快速、简洁、解决大文件内存溢出的java处理Excel工具
https://easyexcel.opensource.alibaba.com
Apache License 2.0
32.01k stars 7.49k forks source link

读取报错 ,部署weblogic #129

Closed wqjGitHub closed 5 years ago

wqjGitHub commented 5 years ago

org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/disallow-doctype-decl at weblogic.apache.xerces.parsers.AbstractSAXParser.setFeature(AbstractSAXParser.java:1518) at weblogic.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:145) at weblogic.apache.xerces.jaxp.SAXParserImpl.(SAXParserImpl.java:128) at weblogic.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:112) at weblogic.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:140) at weblogic.xml.jaxp.WebLogicSAXParserFactory.setFeature(WebLogicSAXParserFactory.java:56) at weblogic.xml.jaxp.RegistrySAXParserFactory.setFeature(RegistrySAXParserFactory.java:137) at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.parseXmlSource(XlsxSaxAnalyser.java:90) at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.execute(XlsxSaxAnalyser.java:81) at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:74) at com.alibaba.excel.ExcelReader.read(ExcelReader.java:103) at com.corp.oa.util.EasyExcel.readExcel(EasyExcel.java:124) at com.corp.oa.util.EasyExcel.main(EasyExcel.java:341) Exception in thread "main" com.alibaba.excel.exception.ExcelAnalysisException: org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/disallow-doctype-decl at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.parseXmlSource(XlsxSaxAnalyser.java:101) at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.execute(XlsxSaxAnalyser.java:81) at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:74) at com.alibaba.excel.ExcelReader.read(ExcelReader.java:103) at com.corp.oa.util.EasyExcel.readExcel(EasyExcel.java:124) at com.corp.oa.util.EasyExcel.main(EasyExcel.java:341) Caused by: org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/features/disallow-doctype-decl at weblogic.apache.xerces.parsers.AbstractSAXParser.setFeature(AbstractSAXParser.java:1518) at weblogic.apache.xerces.jaxp.SAXParserImpl.setFeatures(SAXParserImpl.java:145) at weblogic.apache.xerces.jaxp.SAXParserImpl.(SAXParserImpl.java:128) at weblogic.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParserImpl(SAXParserFactoryImpl.java:112) at weblogic.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:140) at weblogic.xml.jaxp.WebLogicSAXParserFactory.setFeature(WebLogicSAXParserFactory.java:56) at weblogic.xml.jaxp.RegistrySAXParserFactory.setFeature(RegistrySAXParserFactory.java:137) at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.parseXmlSource(XlsxSaxAnalyser.java:90) ... 5 more 代码: inputStream = getInputStream(filePath); // 创建监听 AnalysisEventListener listener = new AnalysisEventListener() { private List list = new ArrayList(); @Override public void invoke(Object object, AnalysisContext context) { if(list.size()<=100){ list.add(object); }else { doSomething(); list = new ArrayList(); } }

            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
                doSomething();
            }
            public void doSomething(){
                for (Object o:list) {
                    System.out.println(o);
                }
            }
        };

        ExcelReader excelReader = EasyExcelFactory.getReader(inputStream, listener);
        excelReader.read();
        List<Sheet> sheets = excelReader.getSheets();
        for (Sheet sheet: sheets) {
            if (sheet.getSheetNo() == 1) {
                excelReader.read(sheet);
            }
        }
Chat2DB-Pro commented 5 years ago

多少版本?需要1.1.2-beta4另外需要排除

xerces
        <artifactId>xercesImpl</artifactId>
    </dependency>
wqjGitHub commented 5 years ago

easyexcel用的是最新版本,应该是1.1.2-beta4, Weblogic 12.2.1.3.0

CaptainDF commented 3 years ago

排除项目依赖的dom4j