[alibaba/easyexcel]当excel中的负数单元格格式为红色时,解析出来的是这个负数会带一个空格

2024-05-16 30 views
5

触发场景描述 当我们使用easyexcel读取excel时,红色格式负数会携带一个空格 触发Bug的代码 在listener中拿到这行数据后就是携带空格的,所以我们处理了一下(去空格)

    BankExcelDataListener.java
   @Override
    public void invoke(BankExcelDataReadDTO data, AnalysisContext analysisContext) {
        Integer rowIndex = analysisContext.readRowHolder().getRowIndex();
        data.setRow(rowIndex + 1);
        if(StringUtils.isNotBlank(data.getBalance())){
            data.setBalance(data.getBalance().replace(" ",""));
        }
        if (StringUtils.isNotBlank(data.getJieAmount())) {
            data.setJieAmount(data.getJieAmount().replace(" ",""));
        }
        if (StringUtils.isNotBlank(data.getDaiAmount())) {
            data.setDaiAmount(data.getDaiAmount().replace(" ",""));
        }
        super.invoke(data, analysisContext);
    }

提示的异常或者没有达到的效果 image 1646297170(1)

回答

5

这个能否提供下excel 我实际测试中未发现次问题

7

奇怪 这个问题我这边很容易复现呀,第一行中的-200是正常的,但是第二行的红色的-200就会有个空格 111.xls image 这个是正常的 image 这个解析出来有一个空格

1

我也遇到了这个问题,发现原因是数字的格式中最后多了一个多余的空格没有去掉。自己尝试修复了一下,具体情况请看我的pr pr #2440

2

我也遇到了,你要把单元格设置为数值类型,然后负数,设置格式就会多空格 @zhuangjiaju