Bootstrap

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 导出为整数及小数

具体如下:

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