试图弄清楚如何读取所有细胞,甚至是空细胞.
问题:当一个单元格为空时,它将被忽略,并使用下一个单元格中的值代替..并抛出异常.
这个:
名称..........号码
汽车............... 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)