<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
Export2Excel.aspx.cs
"
Inherits
=
"
WebApplication1.Export2Excel
"
%>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title ></ title >
</ head >
< body >
< form id = " form1 " runat = " server " >
< div >
< asp:ScriptManager ID = " ScriptManager1 " runat = " server " >
</ asp:ScriptManager >
< asp:Button ID = " Button1 " runat = " server " Text = " Button " onclick = " Button1_Click " />
< div >
< span > 通过UpdatePanel导出Excel </ span >
< asp:UpdatePanel ID = " updatePanel1 " runat = " server " >
< ContentTemplate >
< asp:Button ID = " Button2 " runat = " server " Text = " Button " onclick = " Button1_Click " />
</ ContentTemplate >
< Triggers >
< asp:PostBackTrigger ControlID = " Button2 " />
</ Triggers >
</ asp:UpdatePanel >
</ div >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title ></ title >
</ head >
< body >
< form id = " form1 " runat = " server " >
< div >
< asp:ScriptManager ID = " ScriptManager1 " runat = " server " >
</ asp:ScriptManager >
< asp:Button ID = " Button1 " runat = " server " Text = " Button " onclick = " Button1_Click " />
< div >
< span > 通过UpdatePanel导出Excel </ span >
< asp:UpdatePanel ID = " updatePanel1 " runat = " server " >
< ContentTemplate >
< asp:Button ID = " Button2 " runat = " server " Text = " Button " onclick = " Button1_Click " />
</ ContentTemplate >
< Triggers >
< asp:PostBackTrigger ControlID = " Button2 " />
</ Triggers >
</ asp:UpdatePanel >
</ div >
</ div >
</ form >
</ body >
</ html >
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;
namespace WebApplication1
{
public partial class Export2Excel : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
}
public void DataSetToExcel(DataSet ds, string FileName)
{
try
{
HttpResponse resp;
resp = HttpContext.Current.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding( " GB2312 " );
resp.AppendHeader( " Content-disposition " , " attachment;filename= " + HttpUtility.UrlEncode(FileName) + " .xls " );
resp.ContentType = " application/ms-excel " ;
// 变量定义
string colHeaders = null ;
string Is_item = null ;
StringWriter sfw = new StringWriter();
// 定义表对象与行对象,同时用DataSet对其值进行初始化
System.Data.DataTable dt = ds.Tables[ 0 ];
DataRow[] myRow = dt.Select();
int i = 0 ;
int cl = dt.Columns.Count;
// 取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for (i = 0 ; i < cl; i ++ )
{
colHeaders += dt.Columns[i].Caption.ToString() + " \t " ;
}
sfw.WriteLine(colHeaders);
// 逐行处理数据
foreach (DataRow row in myRow)
{
// 当前数据写入
for (i = 0 ; i < cl; i ++ )
{
Is_item += row[i].ToString() + " \t " ;
}
sfw.WriteLine(Is_item);
// sw.WriteLine(Is_item);
Is_item = null ;
}
resp.Write(sfw);
// resp.Clear();
resp.End();
}
catch (Exception e)
{
throw e;
}
}
protected void Button1_Click( object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.TableName = " 物资供应表 " ;
dt.Columns.Add( " Id " , typeof ( int ));
dt.Columns.Add( " Wuzi " , typeof ( string ));
dt.Columns.Add( " Number " , typeof ( int ));
for ( int i = 0 ; i < 100 ; i ++ )
{
Random r = new Random( 100 );
DataRow row = dt.NewRow();
row[ " Id " ] = i;
row[ " Wuzi " ] = " 物资名称 " + i.ToString();
row[ " Number " ] = r.Next( 100 );
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
string ff = System.DateTime.Now.Date.ToString().Split( ' ' )[ 0 ].ToString() + " 物资统计 " ;
DataSetToExcel(ds, ff);
}
}
}