从Excel文件C#读取列

时间:2019-02-02 15:31:42

标签: c# excel

我有方法,该方法从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;
    }

1 个答案:

答案 0 :(得分:0)

从代码,我看到的 usedRange 从不同的工作表对象(的 WS1 )而不是正确的(<强创建> ws )。这可能是原因。如下更改并检查。

Worksheet ws = (Worksheet)wb.Worksheets[1];
Range usedrange = ws.UsedRange;