关闭

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

316人阅读 评论(0) 收藏 举报
在用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();
}
 
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:245044次
    • 积分:3373
    • 等级:
    • 排名:第9943名
    • 原创:21篇
    • 转载:306篇
    • 译文:3篇
    • 评论:42条