我有方法,该方法从excel文件获取单元格。问题是“ if(usedrange.Cells [1,j]!= null)”给出了NullReference异常。我使用的代码工作中的Visual Studio中,但目前在国内它不工作。有人可以告诉我为什么吗?
public List<string> GetBrandListFromExcel(string path, int sheet)
{
var i = 1;
var j = 1;
List<string> zelle = new List<string>(); ;
if (File.Exists(path))
{
Workbook wb = excel.Workbooks.Open(path);
Worksheet ws = (Worksheet)wb.Worksheets[1];
Range usedrange = ws.UsedRange;
for (j = 1; j <= 2250; j++)
{
if (usedrange.Cells[1, j] != null)
{
var cell = usedrange.Cells[j, 1] as Range;
if (cell.Value2 != null)
{
zelle.Add((string)cell.Text);
}
}
else
continue;
}
wb.Close();
}
return brands;
}
答案 0 :(得分:0)
从代码,我看到的 usedRange 强>从不同的工作表强>对象(的 WS1 强>)而不是正确的(<强创建> ws )。这可能是原因。如下更改并检查。
Worksheet ws = (Worksheet)wb.Worksheets[1];
Range usedrange = ws.UsedRange;