The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用C#和Excel进行报表开发(五)-操作单元格边框和颜色

Posted on 2007-01-08 15:24  Cure  阅读(10638)  评论(3编辑  收藏  举报

在用Excel作报表的时候,可能需要操作单元格的边框和填充颜色和纹理等操作,下面的代码说明如何设置选中的单元格的填充纹理和边框

 

try

{

       ThisApplication = new Excel.Application();

 

      ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                    

 

       ThisApplication.DisplayAlerts = false;

       xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);

       Excel.Range range = xlSheet.get_Range("G4","H5");

       range.Value = "123";

                           

       Excel.Style st = ThisWorkbook.Styles.Add("PropertyBorder", Type.Missing);

                                                       

       range.Interior.Pattern = Excel.XlPattern.xlPatternCrissCross;

       range.Borders.Weight = 2;

       range.Borders.get_Item(XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlLineStyle.xlContinuous;

       range.Borders.get_Item(XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlContinuous;

       range.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlContinuous;

       range.Borders.get_Item(XlBordersIndex.xlDiagonalDown).LineStyle = Excel.XlLineStyle.xlLineStyleNone;

       range.Borders.get_Item(XlBordersIndex.xlDiagonalUp).LineStyle = Excel.XlLineStyle.xlLineStyleNone;

       range.Borders.get_Item(XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlLineStyleNone;

       range.Borders.get_Item(XlBordersIndex.xlInsideVertical).LineStyle = Excel.XlLineStyle.xlLineStyleNone;

       range.Borders.get_Item(XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlLineStyle.xlDot;

       range.Borders.get_Item(XlBordersIndex.xlEdgeLeft).Color = System.Drawing.ColorTranslator.ToOle(Color.Red);

                           

       ThisWorkbook.SaveAs("z:\\Book2.xls", Type.Missing, Type.Missing,

              Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,

              Type.Missing, Type.Missing, Type.Missing, Type.Missing);

}

catch (Exception ex)

{

       MessageBox.Show(ex.Message);

}

finally

{

       ThisWorkbook.Close(Type.Missing, Type.Missing, Type.Missing);

       ThisApplication.Workbooks.Close();

 

       ThisApplication.Quit();

       System.Runtime.InteropServices.Marshal.ReleaseComObject(ThisWorkbook);

       System.Runtime.InteropServices.Marshal.ReleaseComObject(ThisApplication);

       ThisWorkbook = null;

       ThisApplication = null;

       GC.Collect();

       this.Close();

}