用使用poi的HSSFWorkbook或XSSFWorkbook时在创建表格或者使用excel模板时写入数据时报NullPointException错误
在使用setCellValue方法时,报NullPointException错误。查看源码可知,setCellValue是接受null值的,但是为什么会报错呢?
主要原因有两点:
1. 使用了getRow()方法
HSSFRow row = sheet.getRow(i)
在使用excel模板时,这种方式可能会获取前几行,但是后面的就无法获取到,所以改为以下代码即可解决:
HSSFRow row = sheet.createRow(i)
2.使用了getCell()方法
row.getCell(j).setCellValue("");
使用这种方式同样会产生NullPointException错误,改为以下代码即可解决
row.createCell(j).setCellValue("");
总结:在使用poi的HSSFWorkbook或XSSFWorkbook时创建表格时强烈建议使用以下步骤:
HSSFWorkbook sheets = new HSSFWorkbook();
HSSFSheet sheet = sheets.getSheetAt(0);
HSSFRow row = sheet.createRow(i);
row.createCell(j).setCellValue("");
两个最最最重要的方法:一定要用createRow()和createCell()
NullPointException错误很大的可能就是因为没有用这两个方法。