java回写excel报错:java.lang.NullPointerException
代码如下:
public static void backWriteResponseExcel(String body,int sheetNum,int rowNum,int cellNum) {
try {
//创建文件流
FileInputStream fis = new FileInputStream(Constants.excel_path);
Workbook sheets = WorkbookFactory.create(fis);
//分别或许回写对应的sheet/row/cell
Sheet sheet = sheets.getSheetAt(sheetNum);
Row row = sheet.getRow(rowNum);
//防止空指针异常
Cell cell = row.getCell(cellNum,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
cell.setCellType(CellType.STRING);
//回写内容change the cell to a string cell
cell.setCellValue(body);
//创建输出流
FileOutputStream fos = new FileOutputStream(Constants.excel_path);
sheets.write(fos);
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void backWriteResponseExcel() throws Exception {
String body = "回写内容";
int sheetNum = 0 ;
int rowNum = 2;
int cellNum = 2;
CommonUtils.backWriteResponseExcel(body,sheetNum,rowNum,cellNum);
}
解决方法:回写的此行均无数据导致,或者增加行高解决了。