alibaba / easyexcel

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

exce文件只有一个 sheet,代码读取debug 却有 2 个 sheet,导致读取失败 #3862

Closed fangpingchou closed 1 day ago

fangpingchou commented 5 days ago

建议先去看文档

快速开始常见问题

异常代码

   public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
         // 校验逻辑
   }

异常提示

com.alibaba.excel.exception.ExcelDataConvertException: Convert data com.alibaba.excel.metadata.data.ReadCellData@c6205c90 to class java.util.Date error

at com.alibaba.excel.util.ConverterUtils.doConvertToJavaObject(ConverterUtils.java:155)
at com.alibaba.excel.util.ConverterUtils.convertToJavaObject(ConverterUtils.java:100)
at com.alibaba.excel.read.listener.ModelBuildEventListener.buildUserModel(ModelBuildEventListener.java:103)
at com.alibaba.excel.read.listener.ModelBuildEventListener.invoke(ModelBuildEventListener.java:41)
at com.alibaba.excel.read.listener.ModelBuildEventListener.invoke(ModelBuildEventListener.java:26)
at com.alibaba.excel.read.processor.DefaultAnalysisEventProcessor.dealData(DefaultAnalysisEventProcessor.java:99)
at com.alibaba.excel.read.processor.DefaultAnalysisEventProcessor.endRow(DefaultAnalysisEventProcessor.java:46)
at com.alibaba.excel.analysis.v07.handlers.RowTagHandler.endElement(RowTagHandler.java:66)
at com.alibaba.excel.analysis.v07.handlers.sax.XlsxRowHandler.endElement(XlsxRowHandler.java:91)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.parseXmlSource(XlsxSaxAnalyser.java:239)
at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.execute(XlsxSaxAnalyser.java:260)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:124)
at com.alibaba.excel.ExcelReader.read(ExcelReader.java:63)

问题描述

excel 文件只有一个 sheet, 使用 easyexcel 读取显示读到了 2 个 sheet, 导致读取校验报错

企业微信截图_a23ebd14-49a5-42e8-b766-ef409d072e30 946f3587-db64-429d-834e-79ad3742d30d
psxjoy commented 4 days ago

请提供文件和demo

fangpingchou commented 1 day ago

excel 的问题,请忽略,转 xml 文件看到了有 2 个 sheet 配置,但是 office 打开excel 只显示了一个 sheet,复制到新的 excel 文件读取正常