代码1:                int rowCount = 2;
                int colCount = 2;
                for (int i = 1; i <= rowCount; i++)
                {
                    for (int j = 1; j <= colCount; j++)
                    {
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i, j]).Borders.Weight = 2;
                    }
                }代码1对应效果图:疑问:为什么我这代码不能把这有效的列和行的单元格的边框给设了??求解答啊!!代码二:                int rowCount = 2;
                int colCount = 2;
                for (int i = 1; i <= rowCount; i++)
                {
                    for (int j = 1; j <= colCount; j++)
                    {
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i, j]).Borders.Weight = 2;
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i + 1, j]).Borders.Weight = 2;
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i + 2, j]).Borders.Weight = 2;
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i + 3, j]).Borders.Weight = 2;
                        ((Microsoft.Office.Interop.Excel.Range)exSheet.Cells[i + 4, j]).Borders.Weight = 2;
                    }
                }
效果图片:疑问:
为什么我的代码二能把3-6行的边框给设了????

解决方案 »

  1.   

                    for (int i = 1; i <= rowCount; i++)
                    {
                        for (int j = 1; j <= colCount; j++)
    0开始试试
      

  2.   

    下标从0开始不行的,通常有下标的都是0开始,自然会首先尝试从0开始,但从0开始会收到异常:
    异常来自 HRESULT:0x800A03EC;
    所以我才从1开始的!貌似Excel是从1开始的,行和列都是从1开始的
      

  3.   

     for (int i = 0; i <= rowCount; i++)
      

  4.   

    1. Excel里单元格从1开始
    2. 你1,2行的单元格,边线有颜色,你看不出来而已。