package com.ruoyi.common.easyExcel;
|
|
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.StrUtil;
|
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 java.math.BigDecimal;
|
import java.util.Objects;
|
|
|
public class StringConverter implements Converter<String> {
|
|
@Override
|
public Class<?> supportJavaTypeKey() {
|
return String.class;
|
}
|
|
@Override
|
public CellDataTypeEnum supportExcelTypeKey() {
|
return CellDataTypeEnum.STRING;
|
}
|
|
/**
|
* 这里读的时候会调用
|
*
|
* @param context
|
* @return
|
*/
|
@Override
|
public String convertToJavaData(ReadConverterContext<?> context) {
|
try {
|
String values = "";
|
if (StrUtil.isNotBlank(context.getReadCellData().getStringValue())) {
|
values = String.valueOf(context.getReadCellData().getStringValue());
|
} else if (Objects.nonNull(context.getReadCellData().getNumberValue())) {
|
BigDecimal test = context.getReadCellData().getNumberValue().setScale(0, BigDecimal.ROUND_DOWN);
|
values = test.toString();
|
}
|
if (ObjUtil.isEmpty(values)) {
|
return "";
|
}
|
return values.trim();
|
}catch (Exception e){
|
return "";
|
}
|
}
|
|
/**
|
* 这里是写的时候会调用 不用管
|
*
|
* @return
|
*/
|
@Override
|
public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
|
return new WriteCellData<>(String.valueOf(context.getValue()));
|
}
|
}
|