Gem Box Spreadsheet msi错误

时间:2015-07-10 07:31:47

标签: c# excel gembox-spreadsheet

我必须用C#做一个Excel Manager,我选择免费使用Gem Box Spreadsheet

        var ef = new ExcelFile();
        ef = ExcelFile.Load(File_Lettura);
        ExcelWorksheet ws = ef.Worksheets.ActiveWorksheet;

        int riga = 13;
        string s = (ws.Cells["B6"]).ToString();
        string[] r = s.Split('-');
        int c = 0;

        while (ws.Cells["B"+riga.ToString()].Value != null)
        {

            if (ws.Cells["F"+riga.ToString()].Value.ToString() != "")
            {
                // add row
                dgwFile.Rows.Add();

                dgwFile.Rows[c].Cells[0].Value = r[0] + "-" + r[1] + "-" + ws.Cells["B"+riga.ToString()].Value.ToString();
                dgwFile.Rows[c].Cells[1].Value = ws.Cells["D" + riga.ToString()].Value.ToString() + ws.Cells["G" + riga.ToString()].Value.ToString() + ws.Cells["H" + riga.ToString()].Value.ToString() + ws.Cells["I" + riga.ToString()].Value.ToString();
                dgwFile.Rows[c].Cells[2].Value = ws.Cells["F" + riga.ToString()].Value.ToString();
                dgwFile.Rows[c].Cells[3].Value = "0";
                c++;
            }
            riga++;
        }

VS给我一个问题,第一个" IF"有错误:

  

未处理的类型' System.NullReferenceException'   发生。

我认为错误的行是第3行 在此先感谢Smile | :)

我也尝试过这样的事情

ExcelFile ef = ExcelFile.Load(File_Lettura);
ExcelWorksheet ws = ef.Worksheets.ActiveWorksheet;

1 个答案:

答案 0 :(得分:0)

我不相信前3行是问题,但为了100%确定你需要准确指出引发异常的位置。

尽管如此,我认为您要定位的ExcelCell之一是null。 所以试试这个:

while (ws.Cells["B"+riga.ToString()] != null &&
       ws.Cells["B"+riga.ToString()].Value != null)
{
    if (ws.Cells["F"+riga.ToString()] != null &&
        ws.Cells["F"+riga.ToString()].Value != null)
        {