RUOYI 框架教程 10 |若依Excell数据导出小数处理,你会么!

“ 若依教程独家分享!点赞+关注,一起从「蒟蒻」变成「大佬」~”
若依数据导出小数处理,你用过么?
本期内容
若依框架导出数值,默认文本类型修改为小数或整数效果如下

2 代码应该怎么调?
本期内容
1,修改Excell.java工具类的ColumnType方法,完善代码,加入更多数据类型,包括:NUMERIC(0) 整数 ,STRING(1) 文本, IMAGE(2) 图片, DOUBLE(3) 小数
public enum ColumnType
{
NUMERIC(0), STRING(1), IMAGE(2),DOUBLE(3);
private final int value;
ColumnType(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
具体如下:

2,修改ExcellUtil.java工具类的setCellVo方法,完善代码,添加下面代码:
else if (ColumnType.DOUBLE == attr.cellType()){
cell.setCellValue( Convert.toDouble(value) );
}
完整代码如下:
public void setCellVo(Object value, Excel attr, Cell cell)
{
if (ColumnType.STRING == attr.cellType())
{
cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix());
}
else if (ColumnType.NUMERIC == attr.cellType())
{
cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
}
else if (ColumnType.DOUBLE == attr.cellType())
{
cell.setCellValue( Convert.toDouble(value) );
}
else if (ColumnType.IMAGE == attr.cellType())
{
ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1),
cell.getRow().getRowNum() + 1);
String imagePath = Convert.toStr(value);
if (StringUtils.isNotEmpty(imagePath))
{
byte[] data = ImageUtils.getImage(imagePath);
getDrawingPatriarch(cell.getSheet()).createPicture(anchor,
cell.getSheet().getWorkbook().addPicture(data, getImageType(data)));
}
}
}
具体如下:

3,修改Cesi.java实体类代码,加入:
cellType = Excel.ColumnType.NUMERIC 导出为整数及小数
cellType = Excel.ColumnType.NUMERIC 导出为整数及小数
具体如下:

如果想了解更多若依教程,你也可能对这些感兴趣: