使用Aspose.Cells组件生成Excel文件

生成带表头的Excel文件,格式如下显示。

当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int totalRows, int totalColumns)来实现。

下载链接:http://download.csdn.net/detail/nxgliming/6668471

实现方式:

1. 首先,需要添加对"Aspose.Cells.dll"的引用。

2. 实现代码如下:

  1 //新建工作簿 
  2             Workbook workbook = new Workbook(); //工作簿 
  3             Worksheet sheet = workbook.Worksheets[0]; //工作表 
  4             Cells cells = sheet.Cells;//单元格 
  5 
  6 
  7             Style style = workbook.Styles[workbook.Styles.Add()];//新增样式 
  8 
  9             #region 表头
 10             //标题 
 11             style.HorizontalAlignment = TextAlignmentType.Center;//文字居中  
 12             style.Font.Name = "宋体";//文字字体 
 13             style.Font.Size = 18;//文字大小  
 14             style.Font.IsBold = true;//粗体 
 15 
 16             cells.Merge(0, 0, 1, 12);               //合并单元格 
 17             cells[0, 0].PutValue("标准化工作意见建议汇总表");   //填写内容 
 18             cells[0, 0].SetStyle(style);            //给单元格关联样式  
 19             cells.SetRowHeight(0, 28);              //设置行高  
 20 
 21 
 22             //发布时间
 23             style.HorizontalAlignment = TextAlignmentType.Left;
 24             style.Font.Size = 11;
 25             style.Font.IsBold = false;
 26             cells.Merge(1, 0, 1, 7);
 27             cells[1, 0].PutValue(String.Format("发布起止时间:{0}至{1}",DateTime.Now.AddDays(-1).ToString("yyyy年MM月dd日"),DateTime.Now.ToString("yyyy年MM月dd日")));
 28             cells[1, 0].SetStyle(style);
 29             cells.SetRowHeight(1, 20);
 30 
 31             //统计时间
 32             style.HorizontalAlignment = TextAlignmentType.Right;
 33             style.Font.Size = 11;
 34             style.Font.IsBold = false;
 35             cells.Merge(1, 7, 1, 5);
 36             cells[1, 7].PutValue(String.Format("统计时间:{0}", DateTime.Now.ToString("yyyy年MM月dd日")));
 37             cells[1, 7].SetStyle(style);
 38             cells.SetRowHeight(1, 20);
 39             #endregion
 40 
 41             #region 表格
 42 
 43             #region 表格标题行
 44             //序号
 45             style.HorizontalAlignment = TextAlignmentType.Center;
 46             cells[2, 0].PutValue("序号");
 47             cells[2, 0].SetStyle(style);
 48             cells.SetRowHeight(2, 20);
 49             cells.SetColumnWidthPixel(0, 38);
 50 
 51             //建议时间
 52             cells[2, 1].PutValue("建议时间");
 53             cells[2, 1].SetStyle(style); 
 54             cells.SetColumnWidthPixel(1, 77);
 55 
 56             //建议部门
 57             cells[2, 2].PutValue("建议部门");
 58             cells[2, 2].SetStyle(style);
 59             cells.SetColumnWidthPixel(2, 107);
 60 
 61             //建 议 人
 62             cells[2, 3].PutValue("建 议 人");
 63             cells[2, 3].SetStyle(style);
 64             cells.SetColumnWidthPixel(3, 69);
 65 
 66             //类   别
 67             cells[2, 4].PutValue("类   别");
 68             cells[2, 4].SetStyle(style);
 69             cells.SetColumnWidthPixel(4, 71);
 70 
 71             //业务种类
 72             cells[2, 5].PutValue("业务种类");
 73             cells[2, 5].SetStyle(style);
 74             cells.SetColumnWidthPixel(5, 71);
 75 
 76             //标准名称
 77             cells[2, 6].PutValue("标准名称");
 78             cells[2, 6].SetStyle(style);
 79             cells.SetColumnWidthPixel(6, 114);
 80 
 81             //标准章、条编号
 82             cells[2, 7].PutValue("标准章、条编号");
 83             cells[2, 7].SetStyle(style);
 84             cells.SetColumnWidthPixel(7, 104);
 85 
 86             //意见建议
 87             cells[2, 8].PutValue("意见建议");
 88             cells[2, 8].SetStyle(style);
 89             cells.SetColumnWidthPixel(8, 255);
 90 
 91             //处理部门
 92             cells[2, 9].PutValue("处理部门");
 93             cells[2, 9].SetStyle(style);
 94             cells.SetColumnWidthPixel(9, 72);
 95 
 96             //处理进度
 97             cells[2, 10].PutValue("处理进度");
 98             cells[2, 10].SetStyle(style);
 99             cells.SetColumnWidthPixel(10, 72);
100 
101             //备注
102             cells[2, 11].PutValue("备注");
103             cells[2, 11].SetStyle(style);
104             cells.SetColumnWidthPixel(11, 255);
105 
106             #endregion
107 
108             #endregion 
109 
110 
111             System.IO.MemoryStream ms = workbook.SaveToStream();//生成数据流 
112             byte[] bt = ms.ToArray(); 
113 
114             workbook.Save(@"E:\test.xls");//保存到硬盘 
115         }
View Code

3. 生成好的Excel可以保存到磁盘,也可以在web页面上通过流的方式来下载。

 1  //下载
 2             System.IO.MemoryStream ms = workbook.SaveToStream();//生成数据流 
 3             byte[] bt = ms.ToArray();
 4 
 5             string fileName = "标准化工作意见建议汇总表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";//客户端保存的文件名 
 6             //以字符流的形式下载文件   
 7 
 8             Response.ContentType = "application/vnd.ms-excel";
 9 
10             //通知浏览器下载文件而不是打开
11             Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
12             Response.BinaryWrite(bt);
13 
14             Response.Flush();
15             Response.End();
View Code

 

posted on 2013-11-22 14:30  nxgliming  阅读(876)  评论(0编辑  收藏  举报

导航