<%
...
@ Page Language = " C# " EnableEventValidation = " false "
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" > ...
ICollection CreateDataSource( )
... {
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add( new System.Data.DataColumn( " id " , typeof (Int32)));
dt.Columns.Add( new System.Data.DataColumn( " PkID " , typeof (string)));
dt.Columns.Add( new System.Data.DataColumn( " Title " , typeof (string)));
for ( int i = 0 ; i < 6 ; i ++ )
... {
dr = dt.NewRow();
dr[ 0 ] = i;
dr[ 1 ] = " 123456789123456789123456789 " ;
dr[ 2 ] = " <a href='http://dotnet.aspx.cc/'>欢迎光临【孟宪会之精彩世界】</a> " ;
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}
protected void Page_Load( object sender, EventArgs e )
... {
if ( ! IsPostBack)
... {
GridView1.BorderWidth = Unit.Pixel( 2 );
GridView1.BorderColor = System.Drawing.Color.DarkOrange;
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();
}
}
protected void Button1_Click( object sender, System.EventArgs e )
... {
Response.Clear();
Response.Buffer = true ;
Response.Charset = " GB2312 " ;
Response.AppendHeader( " Content-Disposition " , " attachment;filename=FileName.xls " );
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = " application/ms-excel " ; // 设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this .GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
public override void VerifyRenderingInServerForm( Control control )
... { }
protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e )
... {
if (e.Row.RowType == DataControlRowType.DataRow)
... {
e.Row.Cells[ 1 ].Attributes.Add( " style " , " vnd.ms-excel.numberformat:@; " );
}
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 将 GridView 导出到 Excel 文件中 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:GridView ID ="GridView1" runat ="server" OnRowDataBound ="GridView1_RowDataBound"
AutoGenerateColumns ="false" >
< Columns >
< asp:BoundField HeaderText ="序号" DataField ="id" />
< asp:BoundField HeaderText ="身份证号" DataField ="PkID" />
< asp:BoundField HeaderText ="网址" DataField ="Title" ReadOnly ="true" HtmlEncode ="false" />
</ Columns >
</ asp:GridView >
< asp:Literal ID ="HiddenOut" runat ="server" />
< asp:Button ID ="Button1" runat ="server" Text ="导出" OnClick ="Button1_Click" />
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" > ...
ICollection CreateDataSource( )
... {
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add( new System.Data.DataColumn( " id " , typeof (Int32)));
dt.Columns.Add( new System.Data.DataColumn( " PkID " , typeof (string)));
dt.Columns.Add( new System.Data.DataColumn( " Title " , typeof (string)));
for ( int i = 0 ; i < 6 ; i ++ )
... {
dr = dt.NewRow();
dr[ 0 ] = i;
dr[ 1 ] = " 123456789123456789123456789 " ;
dr[ 2 ] = " <a href='http://dotnet.aspx.cc/'>欢迎光临【孟宪会之精彩世界】</a> " ;
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}
protected void Page_Load( object sender, EventArgs e )
... {
if ( ! IsPostBack)
... {
GridView1.BorderWidth = Unit.Pixel( 2 );
GridView1.BorderColor = System.Drawing.Color.DarkOrange;
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();
}
}
protected void Button1_Click( object sender, System.EventArgs e )
... {
Response.Clear();
Response.Buffer = true ;
Response.Charset = " GB2312 " ;
Response.AppendHeader( " Content-Disposition " , " attachment;filename=FileName.xls " );
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = " application/ms-excel " ; // 设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this .GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
public override void VerifyRenderingInServerForm( Control control )
... { }
protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e )
... {
if (e.Row.RowType == DataControlRowType.DataRow)
... {
e.Row.Cells[ 1 ].Attributes.Add( " style " , " vnd.ms-excel.numberformat:@; " );
}
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 将 GridView 导出到 Excel 文件中 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:GridView ID ="GridView1" runat ="server" OnRowDataBound ="GridView1_RowDataBound"
AutoGenerateColumns ="false" >
< Columns >
< asp:BoundField HeaderText ="序号" DataField ="id" />
< asp:BoundField HeaderText ="身份证号" DataField ="PkID" />
< asp:BoundField HeaderText ="网址" DataField ="Title" ReadOnly ="true" HtmlEncode ="false" />
</ Columns >
</ asp:GridView >
< asp:Literal ID ="HiddenOut" runat ="server" />
< asp:Button ID ="Button1" runat ="server" Text ="导出" OnClick ="Button1_Click" />
</ form >
</ body >
</ html >