[alibaba/easyexcel]解析有自定义的单元格格式的数据,解析的数据不对,参考附件的总金额列

2024-05-17 608 views
8

触发场景描述 解析有自定义的单元格格式的数据,解析的数据不对 合同信息表.xlsx

触发Bug的代码

com.alibaba.excel.analysis.v07.handlers.CellTagHandler#startElement XSSFCellStyle xssfCellStyle = xlsxReadContext.xlsxReadWorkbookHolder().getStylesTable().getStyleAt(dateFormatIndexInteger); int dataFormat = xssfCellStyle.getDataFormat(); xlsxReadSheetHolder.getTempCellData().setDataFormat(dataFormat); xlsxReadSheetHolder.getTempCellData().setDataFormatString(BuiltinFormats.getBuiltinFormat(dataFormat, xssfCellStyle.getDataFormatString(), xlsxReadSheetHolder.getGlobalConfiguration().getLocale()));

public static String getBuiltinFormat(Integer index, String defaultFormat, Locale locale) { String[] builtinFormat = switchBuiltinFormats(locale); if (index == null || index < 0 || index >= builtinFormat.length) { return defaultFormat; } return builtinFormat[index]; }

提示的异常或者没有达到的效果 当xssfCellStyle.getDataFormatString()不为null时 却不会使用得到的自定义的单元格数据,反而会从而触发得到 builtinFormat[6] "\"¥\"#,##0);Red"的情况 设置的单元格格式为###############,##0 最后导出的值却为"¥"#,##0);Red image

界面导出如图部分时候正确部分时候错误 image

回答

4

请问一下能提供复现bug的代码吗? @wyctxwd1

2

能否提供下excel 6是内置的样式 为什么可以修改?

9

这个是否已经解决?如果未解决则重新打开问题。