ApachePOI更新ExcelJava

ApachePOI更新ExcelJava,java,apache-poi,Java,Apache Poi,我正在尝试使用ApachePOI更新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.

我正在尝试使用ApachePOI更新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)


有人知道为什么会发生这种情况吗?

NullPointerException
是在应用程序尝试使用对象引用时抛出的,其值为
null
。其中包括:对
null引用所引用的对象调用实例方法。

可能您的第2行中没有值,因此出现nullpointerexception。

您的工作表中有多少行?将其放入一个循环中,限制为您所期望的行数,并在分别调用getCell或getValue之前对行和单元格进行空值检查。谢谢:)有史以来最有用的问题:)@Jensh此异常意味着您没有行2.这就是为什么它返回null,所以返回nullpointerexception。谢谢。我现在有另一个问题。如果我通过excell手动更改单元格或行的宽度或高度,然后尝试发送更新,我会遇到异常“线程中的异常”AWT-EventQueue-0“java.lang.NullPointerException”新问题。。。新问题亲爱的……:)