解决方案 »

  1.   

    我用的引用是Microsoft Excel 12.0 Object Libraryusing Microsoft.Office.Interop.Excel;
      

  2.   

    错误提示是
    “System.__ComObject”未包含“ColumnsWidth”的定义
      

  3.   

    Range oCells = newSheet.get_Range("A1", Missing.Value);
                            oCells = oCells.get_Resize(listobjectarray.Count, listobjectarray[0].Length);
                            oCells.Value = arrayarray;
                            oCells.EntireColumn.AutoFit();                        for (int iCount = 1; iCount < dt.Columns.Count; iCount++)
                            {
                                if (dt.Columns[iCount].ColumnName == "预测取值")
                                {
                                    ((Range)oCells.Cells[1, iCount + 1]).EntireColumn.ColumnWidth = 20;
                                    break;
                                }
                            }
      

  4.   


    不是你回答的这个意思。
    我是说xlSheet.Columns[8].ColumnsWidth = 50; 不起作用,提示“System.__ComObject”未包含“ColumnsWidth”的定义 ,所以不能定义选定列的宽度,我想请你们帮忙解决这个问。
      

  5.   

    xlSheet.Columns[8]根本就没有ColumnsWidth这个属性,
    所以先利用Range oCells = xlSheet.get_Range("A1", Missing.Value);
     然后利用((Range)oCells.Cells[1, iCount + 1]).EntireColumn.ColumnWidth = 20;
    来设置列宽
      

  6.   

    我之前做过C#导出Excel,还可以导出图形到Excel内
    http://download.csdn.net/detail/jx_521/5819725
    可以指定导出哪些列、可以设置Excel列宽、标题名、列名
    我是用aspose.cells.dll做的,希望可以帮助你。
      

  7.   

                sheets.get_Range("A1", Missing.Value).ColumnWidth = 6;
                sheets.get_Range("B1", Missing.Value).ColumnWidth = 18;
                sheets.get_Range("C1", Missing.Value).ColumnWidth = 18;
                sheets.get_Range("D1", Missing.Value).ColumnWidth = 10;
                sheets.get_Range("E1", Missing.Value).ColumnWidth = 14;
                sheets.get_Range("F1", Missing.Value).ColumnWidth = 12;
                sheets.get_Range("G1", Missing.Value).ColumnWidth = 10;
      

  8.   

    楼主,我刚刚弄出来一个办法可以对Excel中的列宽进行设置
    但是,不是你的要求对“xlSheet.Columns[8].ColumnsWidth = 50;” 错误进行纠正的,我是把这句话删了,
    在for (int i = 0; i < dgv.ColumnCount; i++)
                {
                    xlSheet.Cells[1, i + 1] = dgv.Columns[i].HeaderText;下添加
    ((Microsoft.Office.Interop.Excel.Range)excel.Cells[1, i + 1]).Columns.ColumnWidth = 20;
    这样导出的Excel的列宽就能自己进行设置了。