不用安装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")); //保存到本地