OWC组件生成Excel数据表

1、介绍和思路请参照
  http://www.cnblogs.com/XuebinDing/archive/2012/03/29/2422980.html

2、前台代码

<form id="form1" runat="server">
<h1>演示生成Excel表格</h1>
<div>
<asp:Button ID="btn_Excel" runat="server" Text="生成Excel表格" OnClick="btn_Excel_Click" />
</div>
</form>

3、后台代码
  3.1、项目添加引用
  Microsoft Office Web Components 11.0。
  Microsoft Office Template an Media Control 1.0 Type Library。

  3.2、选择“引用”文件夹中引入的dll:OWC11,鼠标右键选择属性,把“嵌入互操作类型”设置为False。
  

  3.2、在文件里面引用如下  

using Microsoft.Office.Interop.Owc11;//Owc组件

using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

  3.3、具体程序代码

 1 namespace GenerateCharts
2 {
3 public partial class Excel : System.Web.UI.Page
4 {
5 protected void Page_Load(object sender, EventArgs e)
6 {
7
8 }
9
10 protected void btn_Excel_Click(object sender, EventArgs e)
11 {
12 //创建图表空间
13 ChartSpace myspace = new ChartSpace();
14 //添加一个表容器
15 SpreadsheetClass myexcel = new SpreadsheetClass();
16 Worksheet mysheet = myexcel.ActiveSheet;
17 //添加表标题
18 mysheet.Cells[1, 1] = "籍贯";
19 mysheet.Cells[1, 2] = "人数";
20 //连接并且打开数据库
21 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
22 sqlcon.Open();
23 string strsqls = "SELECT 籍贯, COUNT(籍贯) AS 人数 FROM tb_ygxx GROUP BY 籍贯";
24 SqlDataAdapter adsa = new SqlDataAdapter(strsqls, sqlcon);
25 DataSet adds = new DataSet();
26 adsa.Fill(adds);
27 if (adds.Tables[0].Rows.Count > 0)
28 {
29 for (int j = 0; j < adds.Tables[0].Rows.Count; j++)
30 {
31 mysheet.Cells[j + 2, 1] = adds.Tables[0].Rows[j][0].ToString();
32 mysheet.Cells[j + 2, 2] = adds.Tables[0].Rows[j][1].ToString();
33 }
34 //导出表格
35 myexcel.Export(@"d:\test.xls", SheetExportActionEnum.ssExportActionOpenInExcel, SheetExportFormat.ssExportXMLSpreadsheet);
36 }
37 sqlcon.Close();
38 }
39 }
40 }


  4.4、数据结果如下

4、效果图如下

posted @ 2012-03-29 17:25  XuebinDing  阅读(1968)  评论(0编辑  收藏  举报