无法访问空单元EPPlus

试图弄清楚如何读取所有的单元格,甚至是空的单元格。

问题:当一个单元格为空时,它将被忽略,并使用来自下一个单元格的值代替,并抛出一个exception。

这个:

名称……….号码

汽车…………… 10

盒…………… 26

………………… 19

苹果………… 26

结束:

名称……….号码

汽车…………… 10

盒………….. 26

19 ………….苹果

26 ……………..

var ws = excelPackage.Workbook.Worksheets.First(); for (var i = 3; i <= ws.Dimension.End.Row; i++) { var cellValues = ws.Cells[i, 1, i, ws.Dimension.End.Column].ToList(); var newThings = new Store { Name = cellValues[0].Text, Number = cellValues[1].Text, }; 

我尝试过这样的事情

 Name = string.IsNullOrWhiteSpace(cellValues[0].Text) ? " " : cellValues[0].Text; 

但是已经造成的损害已经太晚了。 将这个东西工作真棒,但我似乎无法得到如何。

我真的很感激你可以提供任何帮助。 🙂

您可以尝试单独读取每行/列,而不是使用EPPlus范围。 与此类似(未经testing):

 for (var j = 3; j <= excelSheet.Dimension.End.Row; ++j) { var name = (excelSheet.Cells[j, 0].Value ?? "").ToString(); var number = (excelSheet.Cells[j, 1].Value ?? "").ToString(); var newThings = new Store { Name = name, Number = number }; }