2015-07-10 67 views
1

我必须做的Excel经理C#和我选择使用宝石盒电子表格免费宝石盒电子表格MSI错误

 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 在此先感谢微笑| :)

我也试着像它

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

[?什么是'NullReferenceException'以及如何解决呢(http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how -do-i-fix-it) –

+0

谢谢:)抱歉,我是新手论坛 – stewgh

+0

欢迎您,但[Stack Overflow不是论坛](http://meta.stackexchange.com/q/92107/158761) –

回答

0

我不相信第3行是问题,但为了100%地确定你需要指定确切位置异常被抛出。

不过,我认为你所定位的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) 
     {