当我使用NPOI读取Excel工作表时,空单元格会被跳过。例如,如果该行包含A、B、空格、C
,我用以下方式读取:
IRow row = sheet.GetRow(rowNb)
那么row.Cells [1] .ToString()
将输出B
(如预期的那样),但是row.Cells [2] .ToString()
将输出C
而不是空字符串。 有没有办法保留空单元格?谢谢。
尝试使用MissingCellPolicy
与GetCell
方法:
ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK);
workbook.MissingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;
当您调用GetCell
时,策略将隐式应用,无需每次作为参数传递。
ICell cell = row.GetCell(2);
row.Cells[index]
,它会忽略策略,因此只有在调用row.GetCell(index)
时才起作用。MissingCellPolicy.RETURN_NULL_AND_BLANK
使得 row.GetCell()
返回 null 当单元格为空。如果你想返回一个空字符串,使用 MissingCellPolicy.CREATE_NULL_AS_BLANK
策略。 - Caio Tsubake