When I read Excel worksheet using NPOI, empty cells are skipped. For example, it the row contains A, B, , C
and I read it using
IRow row = sheet.GetRow(rowNb)
then row.Cells[1].ToString()
will output B
(as expected) but row.Cells[2].ToString()
will output C
instead of an empty string. Is there a way to keep empty cells? Thanks.
Try the GetCell
method with the MissingCellPolicy
:
ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK);
In completion to the accepted answer, the policy can be set on the workbook level as well
workbook.MissingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;
This way the policy is applied implicitly when you call GetCell
, no need to pass it every time as a parameter
ICell cell = row.GetCell(2);
Note that (at least in the version I'm using) if you do row.Cells[index]
, it ignores the policy so it only works if you call row.GetCell(index)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With