疯狂的狮子li
2022-01-17 a43e6e06e086e778e6ac3fdba7b5e8fafa090ed8
ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java
@@ -4,8 +4,9 @@
import cn.hutool.core.util.ObjectUtil;
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.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import lombok.extern.slf4j.Slf4j;
@@ -20,32 +21,32 @@
@Slf4j
public class ExcelBigNumberConvert implements Converter<Long> {
   @Override
   public Class<Long> supportJavaTypeKey() {
      return Long.class;
   }
    @Override
    public Class<Long> supportJavaTypeKey() {
        return Long.class;
    }
   @Override
   public CellDataTypeEnum supportExcelTypeKey() {
      return CellDataTypeEnum.STRING;
   }
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.STRING;
    }
   @Override
   public Long convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
      return Convert.toLong(cellData.getData());
   }
    @Override
    public Long convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
        return Convert.toLong(cellData.getData());
    }
   @Override
   public CellData<Object> convertToExcelData(Long object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
      if (ObjectUtil.isNotNull(object)) {
         String str = Convert.toStr(object);
         if (str.length() > 15) {
            return new CellData<>(str);
         }
      }
      CellData<Object> cellData = new CellData<>(new BigDecimal(object));
      cellData.setType(CellDataTypeEnum.NUMBER);
      return cellData;
   }
    @Override
    public WriteCellData<Object> convertToExcelData(Long object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
        if (ObjectUtil.isNotNull(object)) {
            String str = Convert.toStr(object);
            if (str.length() > 15) {
                return new WriteCellData<>(str);
            }
        }
        WriteCellData<Object> cellData = new WriteCellData<>(new BigDecimal(object));
        cellData.setType(CellDataTypeEnum.NUMBER);
        return cellData;
    }
}