我正在尝试使用apache POI写入Excel。当getrow索引为0,例如[getrow(o)]时,它可以工作。但是,将其更改为零以外的值将引发nullpointer异常。

package fairfoxchecking;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class writingInExcel {
    public static void main(String []args) throws IOException {

    File src = new File("D:/Etl_Bug_reporting_Template.xlsx");
    FileInputStream fis = new FileInputStream(src);
    XSSFWorkbook wb = new XSSFWorkbook(fis);
    XSSFSheet sheet1 =wb.getSheetAt(0);

    sheet1.getRow(0).createCell(5).setCellValue("cheasdfasdfasck1");
    sheet1.getRow(1).createCell(5).setCellValue("cheasdfasdfasck1");

    FileOutputStream fout = new FileOutputStream(src);
    wb.write(fout);
    wb.close();
}

最佳答案

在创建单元格之前,必须确保已创建该行。

尝试类似的东西,

if(sheet1.getRow(rowIndex) == null)
      sheeet1.createRow(rowIndex)
sheet1.getRow(rowIndex).createCell(colIndex).setCellValue(stringVal);

关于java - 在Apache POI中更改getROW索引会抛出NullPointerException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40270562/

10-11 14:23