alibaba/easyexcel

解析excel报错Cannot format given Object as a Number,但是怎么都复现不出来,求遇见相同问题的帮忙解答,版本3.0.5

Open

#4,134 opened on Aug 21, 2025

View on GitHub
 (0 comments) (1 reaction) (0 assignees)Java (7,599 forks)batch import
help wanted

Repository metrics

Stars
 (33,728 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

表头处理 @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { this.headMap.putAll(headMap); } 模型 public class ImportEasyExcelData { private String value1; private String value2; private String value3; private String value4; private String value5; private String value6; private String value7; }

报错明细 Convert data com.alibaba.excel.metadata.data.ReadCellData@32772f63 to class java.lang.String error com.alibaba.excel.exception.ExcelDataConvertException: Convert data com.alibaba.excel.metadata.data.ReadCellData@32772f63 to class java.lang.String errorat 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:46)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:197)at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.execute(XlsxSaxAnalyser.java:218)at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:123)at com.alibaba.excel.ExcelReader.read(ExcelReader.java:67)at com.alibaba.excel.ExcelReader.read(ExcelReader.java:57)at com.alibaba.excel.read.builder.ExcelReaderSheetBuilder.doRead(ExcelReaderSheetBuilder.java:65)at com.pdd.ei.purchasing.core.importData.impl.ImportDataAnalyzeServiceImpl.lambda$analysisUploadFile$1(ImportDataAnalyzeServiceImpl.java:132)at com.pdd.ei.purchasing.core.helper.ThreadPoolHelper.lambda$execute$2(ThreadPoolHelper.java:94)at com.alibaba.ttl.TtlRunnable.run(TtlRunnable.java:51)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: java.lang.IllegalArgumentException: Cannot format given Object as a Numberat java.text.DecimalFormat.format(DecimalFormat.java:507)at com.alibaba.excel.metadata.format.ExcelGeneralNumberFormat.format(ExcelGeneralNumberFormat.java:58)at java.text.Format.format(Format.java:157)at com.alibaba.excel.metadata.format.DataFormatter.performDateFormatting(DataFormatter.java:609)at com.alibaba.excel.metadata.format.DataFormatter.getFormattedDateString(DataFormatter.java:631)at com.alibaba.excel.metadata.format.DataFormatter.format(DataFormatter.java:662)at com.alibaba.excel.util.NumberDataFormatterUtils.format(NumberDataFormatterUtils.java:57)at com.alibaba.excel.util.NumberDataFormatterUtils.format(NumberDataFormatterUtils.java:35)at com.alibaba.excel.converters.string.StringNumberConverter.convertToJavaData(StringNumberConverter.java:54)at com.alibaba.excel.converters.string.StringNumberConverter.convertToJavaData(StringNumberConverter.java:23)at com.alibaba.excel.converters.Converter.convertToJavaData(Converter.java:57)at com.alibaba.excel.util.ConverterUtils.doConvertToJavaObject(ConverterUtils.java:153)

Contributor guide