当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI访问单元格时出现NullPointerException

苏品
2023-03-14

我正在尝试用Apache POI读取Excel文件。我的目标是从每一行获得单元格2&3,并将它们放入一个数组。在某些行中,单元格3是空的(我不是说空的、空的或空白的)。如果您在Excel中检查它们,则只需为空。

其中一些空单元格(不是全部)在线程“main”java.lang.NullPointerException中导致nullPonterException:Exception。在尝试获取单元格值或单元格类型时会发生这种情况。我的印象是那个地方没有牢房。

static ArrayList<String> getFirstFile() throws IOException
{
    FileInputStream fileIn = null;

    ArrayList <String> namesFirstFile = new ArrayList <String>();
    String folderPath = "C:\\";
    String indivList1 = "filename.xls";

    fileIn = new FileInputStream(folderPath+indivList1);
    POIFSFileSystem fs = new POIFSFileSystem(fileIn);
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);
    int rowNumber = 6; //skipping the first 6 rows as irrelevant
    HSSFRow row = sheet.getRow(rowNumber);
    String firstName = "";
    String lastName = "";

    while(row.getCell(0).getCellType() == 0) {
        lastName = row.getCell(1).toString();
        firstName = row.getCell(2).toString();

        namesFirstFile.add((rowNumber-6), (lastName + " " + firstName));
        rowNumber++;
        row = sheet.getRow(rowNumber);          
    }
}

共有1个答案

吉栋
2023-03-14

尝试设置行.MissingCellPolicy:

>

  • 静态行.MissingCellPolicy CREATE_NULL_AS_BLANK

    为缺少的单元格创建一个新的空白单元格。

    这道题对题目有很好的讨论。

  •  类似资料:
    • 我正在使用Apache POI读取零件编号电子表格中的数据。我在我们的数据库中查找零件编号,如果我们有零件的计算机辅助设计图纸,我将零件编号单元格涂成绿色,如果没有,我将其涂成红色。处理完成后,将保存电子表格。我遇到的问题是那列中的每个细胞都是绿色的。我已经完成了代码,查找零件号的逻辑工作正常,确定单元格应该是什么颜色以及设置颜色和填充的逻辑似乎也工作正常。知道我做错了什么吗? 谢谢

    • 我有一个巨大的excel文件,其中包含大量列,如下所示:- 当我打印excel中的所有值时,我的代码生成的输出是:- 所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法? 请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处

    • 问题内容: 我正在尝试使用Apache POI读取Excel文件。我的目标是从每行中获取单元格2和3,并将它们放入数组中。在某些行中,单元格3为空(我不是在谈论EMPTY,NULL或BLANK)。如果在Excel中检查它们,则为空。 这些空单元格中的一些(不是全部)导致NullPonterException: 线程“ main” java.lang.NullPointerException中的异常

    • 我正在从Vaadin 7 Table迁移到Vaadin 8 Grid。在Vaadin 7 Table中,我们使用了IndexedContainer或Container with Property,并且可以使用或访问表单元格值。 瓦丁 8 网格的内容通过

    • 我正在使用Poi.jar从excel表输入,想知道如何检查单元格是否为空。 现在我使用下面的代码。

    • 我在把数据写到excel文件时遇到了问题。我使用的是apache POI 4.1.2版本库。下面是示例代码。 在excel文件中保存的最后一列单元格中,以前的单元格保持为空白。请帮忙,如果我做错了什么,请告诉我?