alibaba/easyexcel

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

Open

#4134 aperta il 21 ago 2025

Vedi su GitHub
 (0 commenti) (1 reazione) (0 assegnatari)Java (7599 fork)batch import
help wanted

Metriche repository

Star
 (33.728 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

表头处理 @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)

Guida contributor