C#生成Excel

需要引用MyXls.SL2.dll的类库; 下载地址:http://sourceforge.net/projects/myxls/ 

命名空间using org.in2bits.MyXls;

//创建表格
        XlsDocument doc = new XlsDocument(); //创建一个新的xls文档  
        doc.FileName = DateTime.Now.ToString("yyyyMMddhhmmssms") + ".xls"; //excel文件名称  
        Worksheet sheet = doc.Workbook.Worksheets.Add("sheet1");//Excel工作表名称  
        Cells cells = sheet.Cells; //工作表中全部的单元格 

        //设置单元格宽度
        ColumnInfo col = new ColumnInfo(doc, sheet); //创建列样式对象  
        col.ColumnIndexStart = 0;  //起始列,索引从0开始  
        col.ColumnIndexEnd = 7;    //结束列,索引从0开始,这样为第1列、第2列使用此样式  
        col.Width = 7111;         //宽度,字节长度,ushort类型 0~65535  
        sheet.AddColumnInfo(col);  //将列样式作用于此工作表  

        //设置单元格样式
        XF xf = doc.NewXF(); //单元格样式对象  
        xf.VerticalAlignment = VerticalAlignments.Centered; //垂直居中  
        xf.HorizontalAlignment = HorizontalAlignments.Centered;  //水平居中  
        xf.Pattern = 1; //填充风格,0为无色填充,1为没有间隙的纯色填充  
        xf.PatternColor = Colors.Green; //填充背景底色  
        xf.Font.ColorIndex = 5; //字体前景色颜色,未知值  
        xf.Font.FontName = "微软雅黑"; //字体   
        xf.Font.Height = 20 * 20; //字体大小   
        xf.UseBorder = true; //使用边框   
        xf.BottomLineStyle = 1; //边框样式   
        xf.BottomLineColor = Colors.Red; //边框颜色   
 
        //添加数据到单元格
        cells.Add(1, 1, "编号",xf);
        cells.Add(1, 2, "地区", xf);
        cells.Add(1, 3, "编号2", xf);

        using(DBDataContext con=new DBDataContext())
        {
            List<ChinaStates> cl = con.ChinaStates.ToList();
            int count = 2;
            foreach(ChinaStates c in cl)
            {
                cells.Add(count, 1, c.AreaCode,xf);
                cells.Add(count, 2, c.AreaName,xf);
                cells.Add(count, 3, c.ParentAreaCode,xf);
                count++;
            }

        }
        doc.Save(Server.MapPath("file")); //保存到本地,需要绝对路径

 

posted @ 2018-02-27 14:02  氏张  阅读(1013)  评论(0编辑  收藏  举报