alibaba / easyexcel

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

构建 ExcelWriter 对象时,使用自定义转换器会覆盖默认的Converter #2628

Open dangbo-git opened 2 years ago

dangbo-git commented 2 years ago

触发场景描述 构建 ExcelWriter 对象时,使用自定义转换器会覆盖默认的Converter 触发Bug的代码

// Set converterMap
if (parentAbstractWriteHolder == null) {
          setConverterMap(DefaultConverterLoader.loadDefaultWriteConverter());
      } else {
          setConverterMap(new HashMap<String, Converter>(parentAbstractWriteHolder.getConverterMap()));
      }
      if (writeBasicParameter.getCustomConverterList() != null
          && !writeBasicParameter.getCustomConverterList().isEmpty()) {
          for (Converter converter : writeBasicParameter.getCustomConverterList()) {
              getConverterMap().put(ConverterKeyBuild.buildKey(converter.supportJavaTypeKey()), converter);
          }
      }

提示的异常或者没有达到的效果

对象的拷贝,导致覆盖静态全局变量,在其他excel操作时,就会有问题!!!

gongxuanzhang commented 1 year ago

某个writer不会导致其他处理器的变化,你能提供触发bug的代码吗