gem盒电子表格msi错误

我必须用C#做一个Excelpipe理器,我select使用Gem Box Spreadsheet Free

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”错误:

发生了types为“System.NullReferenceException”的未处理exception。

我认为错误的行是第一个在此先感谢微笑| 🙂

我也试过了

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

我不相信前3行是问题,但是为了100%确定您需要确切地指定引发exception的位置。

不过,我认为你所定位的ExcelCell中的一个是空的。 所以试试这个:

 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) {