在用com.alibaba.excel包进行导出操作,对数据再次加工的问题

1、问题

我们在导出的时候,有时候需要给导出的数据进行一些转换,例如加上百分号等等

2、具体实现

可以通过自定义 Converter 来实现将需要加入百分号的数据进行格式化,具体步骤如下

编写一个工具类实现Converter接口

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

import java.text.DecimalFormat;
/*
 * 拼接%
 */

public class ExcelPercentSuffixConvert implements Converter<Object> {

    @Override
    public WriteCellData<?> convertToExcelData(Object value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if(value instanceof Double){
            DecimalFormat decimalFormat = new DecimalFormat("###################.###########");
            value = decimalFormat.format(value);
        }
        String cellData = value + "%";
        return new WriteCellData<>(cellData);
    }
}

3、在需要的实体类属性上面使用即可

a001366c5d4f4edd89622233dd5dd165.png

 

 

 

posted @ 2023-02-23 17:22  JamieChyi  阅读(154)  评论(0)    收藏  举报  来源