admin管理员组文章数量:1538130
SpringBoot集成阿里easyexcel(四)Converter导入导出数据转换器
通过com.alibaba.excel.converters.Converter转换器实现Excel导入导出时Java数据与Excel数据的转换。可用于枚举值转换或者数值格式转换(也可直接在字段上使用@NumberFormat(“0.#%”))
一、定义功能功能转换器
实现Converter,T为需要转换成的Java的数据类型。convertToJavaData为转换为Java数据的方法,convertToExcelData为转换为Excel数据的方法,
package com.richstonedt.cmp.model.common;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.text.DecimalFormat;
public class NumberConverter implements Converter<Float> {
@Override
public Class supportJavaTypeKey() {
return Float.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public Float convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
//cellData是当前单元格的数据
if(cellData.getStringValue()==null){
return Float.valueOf(cellData.getNumberValue().floatValue());
}else {
return Float.valueOf(cellData.getStringValue());
}
}
@Override
public CellData convertToExcelData(Float value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
//value是当前需要转换为单元格数据的JAVA数据
DecimalFormat format=new DecimalFormat("0.0#");
return new CellData(format.format(value.floatValue()));
}
}
本文标签: 阿里转换器数据SpringBootConverter
版权声明:本文标题:SpringBoot集成阿里easyexcel(四)Converter导入导出数据转换器 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726968242a1092458.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论