如题,如何设置cell的颜色和字体!

解决方案 »

  1.   


    //LZ参考一下
    using MSExcel = Microsoft.Office.Interop.Excel;using System.IO;using System.Reflection;class Program{  static void Main(string[] args)  {    string path;    MSExcel.Application excelApp;    MSExcel.Workbook excelDoc;    path = @"d:\test.xlsx";    excelApp = new MSExcel.ApplicationClass();    if(File.Exists(path))    {      File.Delete(path);    }    Object nothing = Missing.Value;    excelDoc = excelApp.Workbooks.Add(nothing);    MSExcel.Worksheet ws = (MSExcel.Worksheet)excelDoc.Sheet[1];    MSExcel.Range r;    r = ws.get_Range("A1","A1");    r.Value2 = "3";    r = ws.get_Range("A2","A2");    r.Value2 = "5.7";    r = ws.get_Range("A3","A3");    r.Value2 = "4.8";    r = ws.get_Range("A4","A4");    r.Value2 = "9.2";    r = ws.get_Range("A5","A5");    r.Value2 = "6.4";    excelDoc.Charts.Add(nothing,nothing,nothing,nothing);    excelDoc.ActiveChart.ChartType = MSExcel.XlChartType.xlColumnClustered;    excelDoc.ActiveChart.SetSourceData(ws.get_Range("A1","A5"),MSExcel.XlRowCol.xlColumns);    excelDoc.ActiveChart.Location(MSExcel.XlChartLocation.xlLocationAsObject,"sheet1");    excelDoc.ActiveChart.HasTitle = true;    excelDoc.ActiveChart.ChartTitle.Text = "创建图表";    excelDoc.ActiveChart.hasDataTable = false;    object format = MSExcel.XlFileFormat.xlWorkbookDefault;    excelDoc.SaveAs(path,format,nothing,nothing,nothing,nothing,        MSExcel.XlSaveAsAccessMode.xlExclusive,nothing,nothing,nothing,nothing,nothing);    excelDoc.Close(nothing,nothing,nothing);    excelApp.Quit();  }} 
      

  2.   

    不是直接操作excel,而是使用C#程序生成报表的!
    它的cell对象里头只设置值,单元的属性不知道怎么设!
      

  3.   

    操作Excel时,最好通过Range对象来操作某部分单元格,可通过Range.Font.Size和Range.Font.ColorIndex属性设置相关文字的大小和颜色:range = objSheet.get_Range(objSheet.Cells[1, 1], objSheet.Cells[1, thisCell]);
                ((Excel.Range)objSheet.Rows[1,Miss]).RowHeight = 20;
                range.Value = "总仓和代管仓汇总表";
                range.Font.Bold = true;
                range.MergeCells = true;
                range.Font.ColorIndex = 5;
                range.Font.Size = 20;
      

  4.   

    个人觉得不错的方法就是在EXCEL中录制宏 然后参考VBA代码 很想C#利用的 如果哪位高人有好办法可以说出来
    尤其是不知道颜色index时比较好用
      

  5.   


    就是这个,和操作word的字体格式方法差不多
      

  6.   

    //合并   
      excelRangeParm.Merge(Missing.Value);   
        
      //粗体设置   
      excelRangeParm.Font.Bold   =   true;   
        
      //字体大小设置   
      excelRangeParm.Font.Size   =   12;   
        
      //水平对齐设置   
      excelRangeParm.HorizontalAlignment   =   Excel.XlHAlign.xlHAlignCenter;   
        
      //垂直对齐设置   
      excelRangeParm.VerticalAlignment   =   Excel.XlVAlign.xlVAlignCenter;   
        
      //公式设置   
      excelRangeParm.FormulaR1C1   =   公式;   
        
      //列宽设置   
      excelRange.ColumnWidth   =   宽度;   
        
      //行高   
      excelRange.RowHeight   =   行高; //设置列格式   
      Excel.Range   myrange=mysheet.get_Range(mysheet.Cells[1,1],mysheet.Cells[5,1]);   
      myrange.NumberFormatLocal="@";//文本格式   
        
      //设置第10行为红色   
      mysheet.get_Range((Excel.Range)mysheet.Cells[10,1],(Excel.Range)mysheet.Cells[10,200]).Select();   
      mysheet.get_Range((Excel.Range)mysheet.Cells[10,1],(Excel.Range)mysheet.Cells[10,200]).Interior.ColorIndex=3;