借花献佛,一直来在用的东西,但是不知道那里找到的了
ExportToExcel.aspx文件:
1 <%@ Page language="c#" Codebehind="ExportToExcel.aspx.cs" AutoEventWireup="false" Inherits="CSharpProject.Excel.ExportToExcel" %>
2 <HTML>
3 <HEAD>
4 <title>ExportToExcel</title>
5 <!-- #include file = "PrintFunction.inc"-->
6 </HEAD>
7 <body>
8 <form id="Form1" method="post" runat="server">
9 <!--需要导入到Excel的内容-->
10 <asp:Table ID="tabReport" Runat="server">
11 <asp:TableRow>
12 <asp:TableCell>
13 <!--需要打印的内容-->
14 <!--StartPrintPoint-->
15 <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
16 <TR>
17 <TD>姓名</TD>
18 <TD>性别</TD>
19 <TD>年龄</TD>
20 </TR>
21 <TR>
22 <TD>张三</TD>
23 <TD>男</TD>
24 <TD>20</TD>
25 </TR>
26 <TR>
27 <TD>李四</TD>
28 <TD>男</TD>
29 <TD>20</TD>
30 </TR>
31 </TABLE>
32 <!--EndPrintPoint-->
33 <!--需要打印的内容结束-->
34 </asp:TableCell>
35 </asp:TableRow>
36 </asp:Table>
37 <!--需要导入到Excel的内容结束-->
38 <asp:Button id="btnExport" runat="server" Text="导入到Excel"></asp:Button>
39 <input type="button" value="打印" onclick="preview(3);">
40 </form>
41 </body>
42 </HTML>
2 <HTML>
3 <HEAD>
4 <title>ExportToExcel</title>
5 <!-- #include file = "PrintFunction.inc"-->
6 </HEAD>
7 <body>
8 <form id="Form1" method="post" runat="server">
9 <!--需要导入到Excel的内容-->
10 <asp:Table ID="tabReport" Runat="server">
11 <asp:TableRow>
12 <asp:TableCell>
13 <!--需要打印的内容-->
14 <!--StartPrintPoint-->
15 <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
16 <TR>
17 <TD>姓名</TD>
18 <TD>性别</TD>
19 <TD>年龄</TD>
20 </TR>
21 <TR>
22 <TD>张三</TD>
23 <TD>男</TD>
24 <TD>20</TD>
25 </TR>
26 <TR>
27 <TD>李四</TD>
28 <TD>男</TD>
29 <TD>20</TD>
30 </TR>
31 </TABLE>
32 <!--EndPrintPoint-->
33 <!--需要打印的内容结束-->
34 </asp:TableCell>
35 </asp:TableRow>
36 </asp:Table>
37 <!--需要导入到Excel的内容结束-->
38 <asp:Button id="btnExport" runat="server" Text="导入到Excel"></asp:Button>
39 <input type="button" value="打印" onclick="preview(3);">
40 </form>
41 </body>
42 </HTML>
ExportToExcel.aspx.cs:
1 using System;
2 using System.Collections;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Web;
7 using System.Web.SessionState;
8 using System.Web.UI;
9 using System.Web.UI.WebControls;
10 using System.Web.UI.HtmlControls;
11
12 namespace CSharpProject.Excel
13 {
14 public class ExportToExcel : System.Web.UI.Page
15 {
16 protected System.Web.UI.WebControls.Button btnExport;
17 protected System.Web.UI.WebControls.Table tabReport;
18
19 private void Page_Load(object sender, System.EventArgs e)
20 {
21 }
22
23 #region Web 窗体设计器生成的代码
24 override protected void OnInit(EventArgs e)
25 {
26 //
27 // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
28 //
29 InitializeComponent();
30 base.OnInit(e);
31 }
32
33 /// <summary>
34 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
35 /// 此方法的内容。
36 /// </summary>
37 private void InitializeComponent()
38 {
39 this.btnExport.Click += new System.EventHandler(this.Button1_Click);
40 this.Load += new System.EventHandler(this.Page_Load);
41
42 }
43 #endregion
44
45 private void Button1_Click(object sender, System.EventArgs e)
46 {
47 Response.Clear();
48 Response.Buffer= true;
49 Response.Charset="utf-8";
50 //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
51 //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
52 Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
53 Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");
54 //Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
55 Response.ContentType = "application/ms-excel";
56 this.EnableViewState = false;
57 //二、定义一个输入流
58 System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
59 System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
60 //三、将目标数据绑定到输入流输出
61 // this.RenderControl(oHtmlTextWriter);
62 //grdData.RenderControl(oHtmlTextWriter);
63 tabReport.RenderControl(oHtmlTextWriter);
64 //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
65 Response.Write(oStringWriter.ToString());
66 Response.End();
67 }
68 }
69 }
70
2 using System.Collections;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Web;
7 using System.Web.SessionState;
8 using System.Web.UI;
9 using System.Web.UI.WebControls;
10 using System.Web.UI.HtmlControls;
11
12 namespace CSharpProject.Excel
13 {
14 public class ExportToExcel : System.Web.UI.Page
15 {
16 protected System.Web.UI.WebControls.Button btnExport;
17 protected System.Web.UI.WebControls.Table tabReport;
18
19 private void Page_Load(object sender, System.EventArgs e)
20 {
21 }
22
23 #region Web 窗体设计器生成的代码
24 override protected void OnInit(EventArgs e)
25 {
26 //
27 // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
28 //
29 InitializeComponent();
30 base.OnInit(e);
31 }
32
33 /// <summary>
34 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
35 /// 此方法的内容。
36 /// </summary>
37 private void InitializeComponent()
38 {
39 this.btnExport.Click += new System.EventHandler(this.Button1_Click);
40 this.Load += new System.EventHandler(this.Page_Load);
41
42 }
43 #endregion
44
45 private void Button1_Click(object sender, System.EventArgs e)
46 {
47 Response.Clear();
48 Response.Buffer= true;
49 Response.Charset="utf-8";
50 //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
51 //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
52 Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
53 Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");
54 //Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
55 Response.ContentType = "application/ms-excel";
56 this.EnableViewState = false;
57 //二、定义一个输入流
58 System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
59 System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
60 //三、将目标数据绑定到输入流输出
61 // this.RenderControl(oHtmlTextWriter);
62 //grdData.RenderControl(oHtmlTextWriter);
63 tabReport.RenderControl(oHtmlTextWriter);
64 //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
65 Response.Write(oStringWriter.ToString());
66 Response.End();
67 }
68 }
69 }
70

