sheet 给我空指针 apache poi

sheet gives me null pointer apache poi

我想创建一个 .xls 文件,但是当我设置一个值时,它给了我空指针。这是我的代码:

(文件 xls 开始时是空的,我需要从代码中创建两个 sheet):

Workbook wb = new HSSFWorkbook();
       Sheet general=wb.createSheet("General"); 
    
    //after this line it gives me null point
                Row row = general.getRow(0);    
                Cell cell = row.getCell(1);   

好像是“一般”null.Anyone可以帮帮我吗?

getRow(0) 抛出异常,因为第 0 行不存在。 您需要首先创建该行:

Row row = general.createRow(0);

Row row = general.getRow(0) 将为您提供 null,因为该行不存在。只有使用 general.createRow(0) 创建后,才能使用。因此,一旦创建了 0 处的 rwo,如果您调用 getRow(0),它将 return 该行。只有非空行才能有单元格。

您可以创建自己的 util 方法,如下所示,如果未创建,可用于获取行。

public Row getRow(Sheet sheet, int rowNo)
{
    Row row = sheet.getRow(rowNo);
    if(row == null)
    {
        row = sheet.createRow(rowNo);
    }
    return row;
}

row.getCell 也会面临类似的问题。它应该首先创建单元格。或者你可以使用这个。

Cell cell = row.getCell(0, Row.RETURN_BLANK_AS_NULL);