alibaba/easyexcel

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

Open

#3,541 opened on Nov 4, 2023

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (7,599 forks)batch import
help wanted

Repository metrics

Stars
 (33,728 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

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<>(""); }

}

Contributor guide