场景
SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践):
/BADAO_LIUMANG_QIZHI/article/details/88660466
需求
在进行导入时,在导入数据库之前需要进行整型格式的验证,确保不会乱输入数据。
判断如果不是整型则将此单元格的背景色设为红色。
实现
//对数量进行验证Cell numCell =sheet.getRow(currentRow).getCell(5);//如果是数值类型if(numCell!=null&&numCell.getCellType()==0){if(HSSFDateUtil.isCellDateFormatted(numCell)){//设置数量单元格为红色CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);numCell.setCellStyle(style);isValidatePass=false;}else{if(!String.valueOf(numCell.getNumericCellValue()).contains(".0")){//设置数量单元格为红色CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);numCell.setCellStyle(style);isValidatePass=false;}}}else{//设置为红色CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.RED.getIndex());style.setFillPattern(CellStyle.SOLID_FOREGROUND);numCell.setCellStyle(style);isValidatePass=false;}
注意
numCell.getNumericCellValue()返回的是dougble类型的,所以Cell中即使是4 ,但是在后台也会取得4.0
所以加验证
if(!String.valueOf(numCell.getNumericCellValue()).contains(".0"))