我的excel是存在这一列的,列的位置位置再最后一列例外:如果把这个excel打开,不做任何修改,直接点击保存
再导入 就不会报错
excel是别的工具导出来,
再通过我的工具 导进 datagridview的 
怀疑是excel格式的问题
 foreach (DataRow excelRow in ds.Tables[0].Rows)
            {
                int i = 0;
                DataRow dr = tb.NewRow();
                foreach (DataColumn dc in tb.Columns)
                {
                    if (i >= tb.Columns.Count) 
                    { }
                    else
                    {
                        MessageBox.Show(dr[dc].ToString());
                        MessageBox.Show(excelRow[i].ToString());
                        dr[dc] = excelRow[i];
                        i++;                    }
                    //dr[dc] = excelRow[i];
                    //i++;
                }
                tb.Rows.Add(dr);            }

解决方案 »

  1.   

    Excel格式原因。。具体的没注意了,我之前也遇到过。不过没解决
      

  2.   

    这个我也遇到过,没有办法,就是个BUG,一般出现这种 情况 都是因为你导入的这个EXCEL并不是用EXCEL生成的,而是用其他软件生成的。可以是丢失了某些信息吧。
      

  3.   

    用第三方库来导入excel。比如:EPPlus.dll
      

  4.   

    用NPOI把,针对excel,word,特别好用.