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

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

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

或是在csdn资源库下载:

第二步,添加引用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")); //保存到本地