“若依教程独家分享!点赞+关注,一起从「蒟蒻」变成「大佬」~”
本期内容
若依框架导出数值,默认文本类型修改为小数或整数效果如下
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.DOUBLE 导出为小数
若依框架教程
2020.3.2
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.