alibaba/easyexcel

自定义格式转换 注入业务bean 为null

Open

#3,541 创建于 2023年11月4日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)Java (7,599 fork)batch import
help wanted

仓库指标

Star
 (33,728 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

package org.jeecg.modules.aq.vo;

import com.alibaba.excel.converters.Converter; import com.alibaba.excel.converters.ReadConverterContext; import com.alibaba.excel.converters.WriteConverterContext; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.data.WriteCellData; import org.jeecg.modules.aq.service.CommonService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;

/**

  • String and string converter

  • @author Jiaju Zhuang */ @Component public class CustomStringStringConverter implements Converter {

    @Autowired private CommonService commonService;

    @Override public Class<?> supportJavaTypeKey() { return String.class; }

    @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; }

    /**

    • 这里是读的时候会调用 不用管
    • @return */ @Override public String convertToJavaData(ReadConverterContext<?> context) { return context.getReadCellData().getStringValue(); }

    /**

    • 这里是写的时候会调用 不用管
    • @return */ @Override public WriteCellData<?> convertToExcelData(WriteConverterContext context) { // Map<String, String> categoryMap = commonService.categoryMap(); if (/categoryMap.containsKey(context.getValue())/true) { // WriteCellData writeCellData = new WriteCellData<>(categoryMap.get(context.getValue())); WriteCellData writeCellData = new WriteCellData<>(""); return writeCellData; } return new WriteCellData<>(""); }

}

贡献者指南