Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用NPOI读取包含空单元格的Excel电子表格?_C#_Excel_Npoi - Fatal编程技术网

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

C# 如何使用NPOI读取包含空单元格的Excel电子表格?,c#,excel,npoi,C#,Excel,Npoi,当我使用NPOI阅读Excel工作表时,将跳过空单元格。例如,该行包含A、B、C,我使用 IRow row = sheet.GetRow(rowNb) 然后row.Cells[1].ToString()将输出B(如预期),但行。Cells[2].ToString()将输出C,而不是空字符串。有没有办法保持空单元格?谢谢。使用MissingCellPolicy尝试GetCell方法: ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NUL

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

IRow row = sheet.GetRow(rowNb)

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

使用
MissingCellPolicy
尝试
GetCell
方法:

ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK);

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

workbook.MissingCellPolicy=MissingCellPolicy.RETURN_NULL_且_为空;
这样,当您调用
GetCell
时,策略将隐式应用,无需每次都将其作为参数传递

ICell cell=row.GetCell(2);

请注意(至少在我使用的版本中),如果您执行
row.Cells[index]
,它会忽略该策略,因此只有在调用
row.GetCell(index)

时它才会起作用。这将有助于使用您用来读取Excel文件的代码更新您的帖子。请保存我,谢谢+1