使用ClosedXML开发Office之–Excel的开发

一、ClosedXML介绍

1.简单的说ClosedXML就是一个类库,主要用于开发Office组件。它也是基于OpenXML,但在它的基础上做了很多封装,比OpenXML开发更加容易、方便;

2.ClosedXML是以OpenXML为基础的,所以在实际项目应用中,除了要添加对ClosedXML.dll应用,还必须添加DocumentFormat.OpenXml.dll的应用;

3.ClosedXML.dll目前有.NET3.5和.NET4.0两个版本,可以去官网下载:http://closedxml.codeplex.com

4.ClosedXML开发不需要Office组件的支持,可以摆脱对Office组件的依赖;

二、ClosedXML开发实例

1.生成一个新的Excel,并对其进行插入数据,设置格式等

public class Program
    {
        static void Main(string[] args)
        {
            string path = @"F:\Test\OpenXMLTest\test.xlsx";
            if (!Directory.Exists(@"F:\Test\OpenXMLTest"))
            {
                Directory.CreateDirectory(@"F:\Test\OpenXMLTest");
            }
            if (File.Exists(path))
            {
                File.Delete(path);
            }

            GetWorkBook(path);
        }

        private static void GetWorkBook(string strFile)
        {
            string[,] data = new string[,] { { "年级", "班级", "姓名", "学号" }, { "八年级", "一班", "LiuHui", "080831" }, { "八年级", "二班", "LIYang", "080832" }, { "九年级", "一班", "WangHui", "080833" }, { "八年级", "三班", "LiMing", "080834" } };

            XLWorkbook workBook = new XLWorkbook();
            IXLWorksheet workSheet = workBook.AddWorksheet("测试");
            IXLStyle style = workSheet.Style;

            style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
            style.Alignment.Vertical = XLAlignmentVerticalValues.Bottom;

            //设置底部边框及颜色
            style.Border.BottomBorder = XLBorderStyleValues.MediumDashDot;
            style.Border.BottomBorderColor = XLColor.Red;

            //设置顶部边框及颜色
            style.Border.TopBorder = XLBorderStyleValues.SlantDashDot;
            style.Border.TopBorderColor = XLColor.Black;

            //设置左部边框及颜色
            style.Border.LeftBorder = XLBorderStyleValues.MediumDashDotDot;
            style.Border.LeftBorderColor = XLColor.Green;

            //设置右部边框及颜色
            style.Border.RightBorder = XLBorderStyleValues.Hair;
            style.Border.RightBorderColor = XLColor.Yellow;

            style.Font.Bold = true;
            style.Font.FontColor = XLColor.Red;
            style.Font.FontName = "微软雅黑";
            style.Font.FontSize = 12;
            style.Font.Italic = true;
            style.Font.Shadow = false;
            style.Font.Underline = XLFontUnderlineValues.Double;            

            //设置A1,B1的字体颜色为灰色
            workSheet.Range("A1", "B1").Style.Font.FontColor = XLColor.Gray;
            //把第5行第1列和第2列合并单元格
            workSheet.Range(5, 1, 5, 2).Merge();
            //设置第5行第1列和第2列内容左对齐
            workSheet.Range(5, 1, 5, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
            //设置第二列的宽度
            workSheet.Column(2).Width = 30;
            //设置第4到7列的宽度
            workSheet.Columns(4, 7).Width = 40;

            for (int i = 0; i < data.GetLength(0);i++ )
            {
                for (int j = 0; j < data.GetLength(1);j++ )
                {
                    workSheet.Cell(i + 1, j + 1).Value = data.GetValue(i, j);
                }
            }

            workBook.SaveAs(strFile);
        }
    }

 

posted @ 2016-01-08 11:57  有时  阅读(7848)  评论(0编辑  收藏  举报