无法访问空单元EPPlus

woc*_*rac 4 c# excel epplus

试图弄清楚如何读取所有细胞,甚至是空细胞.

问题:当一个单元格为空时,它将被忽略,并使用下一个单元格中的值代替..并抛出异常.

这个:

名称..........号码

汽车............... 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,
      };
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西

Name = string.IsNullOrWhiteSpace(cellValues[0].Text) ? " " : cellValues[0].Text;
Run Code Online (Sandbox Code Playgroud)

但由于损坏已经完成,为时已晚.让这个东西起作用会很棒,但我似乎无法理解.

我非常感谢您提供的任何帮助.:)

小智 6

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

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
    };
}
Run Code Online (Sandbox Code Playgroud)