如何使用NPOI读取包含空单元格的Excel电子表格?

时间:2013-07-04 17:05:39

标签: c# excel npoi

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

读取它
IRow row = sheet.GetRow(rowNb)

然后row.Cells[1].ToString()将输出B(按预期方式),但row.Cells[2].ToString()将输出C而不是空字符串。有没有办法保持空单元格?感谢。

2 个答案:

答案 0 :(得分:24)

使用GetCell

尝试MissingCellPolicy方法
ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK);

答案 1 :(得分:1)

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

workbook.MissingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;

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

ICell cell = row.GetCell(2);

请注意(至少在我使用的版本中),如果您执行row.Cells[index],它将忽略该政策,因此仅当您致电row.GetCell(index)

时,该政策才有效