我用C#在向excle模板中写入数据时,想把13行到15行删除掉,代码如下:
                    int startRowIndex = 13;
                    int endRowIndex = 16;
                    for (int i = startRowIndex; i < endRowIndex; i++)
                    {                        m_objSheet.Cells[i, 1].EntireRow.Delete  (Excel.XlDirection.xlDown);                       
                    }
C#excle删除行

解决方案 »

  1.   

    excle模板如下:
    填充完数据后如下:
      

  2.   

    excle模板如下:
    写如数据后如下:
      

  3.   

    索引重置了?
        int startRowIndex = 13;
                         int endRowIndex = 15;
                         for (int i = endRowIndex; i > startRowIndex; i--)
                         {                         m_objSheet.Cells[i, 1].EntireRow.Delete  (Excel.XlDirection.xlDown);                       
                         }
      

  4.   

    m_objSheet.Cells[15, 1].EntireRow.Delete  (Excel.XlDirection.xlDown); 
    你这样绝对删除看看,能不能删除,如果不能,只有你比我们清楚,为什么不能!!!         
      

  5.   


    我是一行行删除的,没有用for循环,这样就不会有多的一行了,知道这是为什么么,纠结了我好久啊!
      

  6.   

    可不可能是Excel.XlDirection.xlDown这个参数的原因,查下这个参数是什么意思,如果是删除下一行的话,就有可能删不掉。如果真的删不掉,你也就只能强制删除最后一行了。也就是说,你循环完,在强制
    m_objSheet.Cells[endRowIndex-1, 1].EntireRow.Delete  (Excel.XlDirection.xlDown); 这样删除最后一行,endRowIndex减掉1。