easyPOI 在导入数据时,走验证文件,发生的错误应该打印到 excel 中。
如:
不显示:
更改代码:
if (result.isVerifyFail()) {
//4.2拿到错误的文件薄
Workbook failWorkbook = result.getFailWorkbook();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
String timeStamp = simpleDateFormat.format(new Date());
//sheet
Sheet sheet = failWorkbook.getSheetAt(failWorkbook.getActiveSheetIndex());
//行数
int rows = sheet.getLastRowNum();
XSSFWorkbook xSSFWorkbook = new XSSFWorkbook();
//文件导出名
String names = "XX" + timeStamp + "error.xlsx";
//文件导出路径+名称
FileOutputStream fileOutputStream = new FileOutputStream("C:\\XX\\" + names);
//创建表名
Sheet sheet1 = xSSFWorkbook.createSheet("错误的数据信息");
//错误信息循环导入改行数据的最后一格
for (int i = 0; i <= rows; i++) {
Row row = sheet.getRow(i);
Row newRow = sheet1.createRow(i);
for (int j = 0; j < row.getLastCellNum(); j++) {
Cell cell = row.getCell(j);
Cell newCell = newRow.createCell(j);
if (CellType.NUMERIC.equals(cell.getCellType())) {
newCell.setCellValue(String.valueOf(cell.getNumericCellValue()));
} else {
newCell.setCellValue(cell.getStringCellValue());
}
}
}
xSSFWorkbook.write(fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
}
更改后:
颜色样式可以更改