C# 生成Excel文件

不用安装Excel,生成原生Excel格式方法

MyXls是用C#开源项目,可以应用于asp.net 或者 .net应用程序上。它根据微软公开的Excle文档格式文件(BIFF),以二进制格式直接生成excel文档,支持Excel versions 97 - 2007 。这意味着你可以不用在服务器上安装office就能够以excle格式输出数据库中存储的数据了,这对于许多项目来说都是很有用的。

第一步,当然是下载MyXls,地址:http://sourceforge.net/projects/myxls/

或是在csdn资源库下载:http://download.csdn.net/download/xianglikai1/10176118

第二步,添加引用org.in2bits.MyXls.dll


一、基础使用

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; //工作表中全部的单元格
cells.Add(1, 1, "内容"); //添加单元格内容,第1行,第1列,内容,索引从1开始
doc.Save(Server.MapPath("file")); //保存到本地,需要绝对路径

二、列宽度设置

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 = 1;    //结束列,索引从0开始,这样为第1列、第2列使用此样式
 col.Width = 11111;         //宽度,字节长度,ushort类型 0~65535
 sheet.AddColumnInfo(col);  //将列样式作用于此工作表

 cells.Add(1, 1, "内容"); //添加单元格内容,第1行,第1列,内容,索引从1开始
 doc.Save(Server.MapPath("file")); //保存到本地


三、单元格样式设置

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; //工作表中全部的单元格

 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); //将单元格样式作用于此单元格 
 doc.Save(Server.MapPath("file")); //保存到本地

四、合并单元格

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; //工作表中全部的单元格

MergeArea ma = new MergeArea(2, 3, 5, 7); //合并单元格,第2行第5列 到 第3行第7列
sheet.AddMergeArea(ma); //添加合并单元格到工作表

XF xf = doc.NewXF(); //创建单元格样式对象
xf.VerticalAlignment = VerticalAlignments.Centered; //垂直居中
xf.HorizontalAlignment = HorizontalAlignments.Centered;  //水平居中

cells.Add(2, 5, "内容", xf); //添加单元格内容,第2行,第5列,内容,索引从1开始  

doc.Save(Server.MapPath("file")); //保存到本地


  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值