17

当我使用 NPOI 阅读 Excel 工作表时,会跳过空单元格。例如,该行包含它A, B, , C,我使用它读取它

IRow row = sheet.GetRow(rowNb)

然后row.Cells[1].ToString()将输出B(如预期的那样),但row.Cells[2].ToString()将输出C而不是空字符串。有没有办法保留空单元格?谢谢。

4

2 回答 2

34

尝试使用以下GetCell方法MissingCellPolicy

ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK);
于 2013-07-04T19:42:30.207 回答
1

在完成接受的答案后,也可以在工作簿级别设置策略

workbook.MissingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;

这样在调用时会隐式应用策略GetCell,无需每次都将其作为参数传递

ICell cell = row.GetCell(2);

请注意(至少在我使用的版本中)如果你这样做row.Cells[index],它会忽略该策略,所以它只有在你调用时才有效row.GetCell(index)

于 2020-09-21T14:36:35.203 回答