- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的情况是,当出现空白行时,我必须停止将 Excel
转换为 txt
。我为它写了如下代码
for (int rowNum = rowStart; rowNum < rowEnd; rowNum++)
{
Row row=sheet1.getRow(rowNum);
int lastColumn = row.getLastCellNum();
for (int cn = 0; cn < lastColumn; cn++)
{
Cell cell = row.getCell(cn, Row.RETURN_BLANK_AS_NULL);
if(cell == null)
{
break;
}
switch(cell.getCellType())
{
//Remaining code for non-blank cells
}
}
}
代码工作正常,但是一旦出现空白行,就会抛出 nullPointerException
在第 4 行的 getLastCellNum()
方法中。我做错了什么吗?我还为我的工作簿设置了丢失的单元格策略
workbook1.setMissingCellPolicy(Row.RETURN_BLANK_AS_NULL);
最佳答案
好像是有这种情况的,如果你想找到任意一个空行的lastCellNum,而那个sheet的最后一个行号大于当前行号。
例如,如果工作表中的总行数为 10,但第 5 行为空。 Null 表示不是空白,而是 UN 初始化的行。在这种情况下,Row row=sheet1.getRow(rowNum);
不会显示任何错误,但 row.getLastCellNum();
会显示 nullPointerException
要解决此问题,您需要在获取最后一行编号之前检查该行不应为空。
请检查以下代码
int lastColumn=0;
for (int rowNum = 0; rowNum < rowEnd; rowNum++){
Row row=sheet1.getRow(rowNum);
if(row!=null)
lastColumn = row.getLastCellNum();
else
continue;
for (int cn = 0; cn < lastColumn; cn++){
Cell cell = row.getCell(cn, Row.RETURN_BLANK_AS_NULL);
if(cell == null){
break;
}
switch(cell.getCellType()){
//Remaining code for non-blank cells
}
}
}
关于java - 使用 apache poi 在空白行中获取 getLastCellNum() 方法时获取 nullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014701/
我正在 Java 中使用 Excel (xlsx)。我一直不明白返回值类型来自getRow(int RowNum)。 “它返回逻辑行(从 0 开始)”是什么意思?请参阅下面的代码。 row=sheet
我的情况是,当出现空白行时,我必须停止将 Excel 转换为 txt。我为它写了如下代码 for (int rowNum = rowStart; rowNum < rowEnd; rowNum++)
POI HSSFRow 中的 row.getLastCellNum() 和 row.getNoOfPhysicalCell() 有什么区别?或者它们是相同的吗? 最佳答案 getLastCellNum
下面是我的 Selenium 代码,用于在 Excel 工作表中的第一个空列中写入数据: public void setAllData(int sheetNumber) { s
我是一名优秀的程序员,十分优秀!