我正在尝试使用Apache POI更新java中的.xlsx文件。
这是我的代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class updateResults {
void updateResults(String path) throws FileNotFoundException, IOException{
FileInputStream fis = new FileInputStream(new File(path));
XSSFWorkbook workbook = new XSSFWorkbook (fis);
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFRow row1 = sheet.getRow(1);
XSSFCell cell1 = row1.getCell(1);
cell1.setCellValue("Mahesh");
XSSFRow row2 = sheet.getRow(2);
XSSFCell cell2 = row2.getCell(1);
cell2.setCellValue("Ramesh");
fis.close();
FileOutputStream fos =new FileOutputStream(new File(path));
workbook.write(fos);
fos.close();
System.out.println("Done");
}
}
问题是我在第“32”行得到一个空指针异常,即XSSFCell cell2 = row2.getCell(1);
任何人都知道为什么会这样?
答案 0 :(得分:0)
NullPointerException
值的对象引用时,抛出 null
。其中包括:在null reference
引用的对象上调用实例方法。
可能是你的第2行没有值,所以nullpointerexception。