標(biāo)記中的控件可以在呈現(xiàn)之前調(diào)用此方法,以便在控件被置于標(biāo)記外時(shí)顯示錯(cuò)誤信息。發(fā)送回或依賴于注冊的腳本塊的控件應(yīng)該在Control.Render方法的重寫中調(diào)用此方法。呈現(xiàn)服務(wù)器窗體元素的方式不同的頁可以重寫此" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

ASP.NET 2.0中將 GridView 導(dǎo)出到 Excel 文件中

系統(tǒng) 2177 0

下面代碼實(shí)現(xiàn)將 GridView 導(dǎo)出到 Excel文件中。

值得注意的是VerifyRenderingInServerForm重載方法:
  MSDN上的 VerifyRenderingInServerForm 方法的描述:
  必須位于 <form runat=server> 標(biāo)記中的控件可以在呈現(xiàn)之前調(diào)用此方法,以便在控件被置于標(biāo)記外時(shí)顯示錯(cuò)誤信息。發(fā)送回或依賴于注冊的腳本塊的控件應(yīng)該在 Control.Render 方法的重寫中調(diào)用此方法。呈現(xiàn)服務(wù)器窗體元素的方式不同的頁可以重寫此方法以在不同的條件下引發(fā)異常。
  如果回發(fā)或使用客戶端腳本的服務(wù)器控件沒有包含在 HtmlForm 服務(wù)器控件 (<form runat="server">) 標(biāo)記中,它們將無法正常工作。這些控件可以在呈現(xiàn)時(shí)調(diào)用該方法,以在它們沒有包含在 HtmlForm 控件中時(shí)提供明確的錯(cuò)誤信息。
  開發(fā)自定義服務(wù)器控件時(shí),通常在為任何類型的輸入標(biāo)記重寫 Render 方法時(shí)調(diào)用該方法。這在輸入控件調(diào)用 GetPostBackEventReference 或發(fā)出客戶端腳本時(shí)尤其重要。復(fù)合服務(wù)器控件不需要作出此調(diào)用。

沒有這個(gè)方法,程序?qū)?bào)錯(cuò)。

C# 代碼

<% @ 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 >歡迎光臨【孟憲會(huì)之精彩世界】</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 " );
????
// 如果設(shè)置為 GetEncoding("GB2312");導(dǎo)出的文件將會(huì)出現(xiàn)亂碼!!!
???? Response.ContentEncoding = System.Text.Encoding.UTF7;
???? Response.ContentType
= " application/ms-excel " ; // 設(shè)置輸出文件類型為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 導(dǎo)出到 Excel 文件中 </ title >
</ head >
< body >
??
< form id ="form1" runat ="server" >
????
< asp:GridView ID ="GridView1" runat ="server" OnRowDataBound ="GridView1_RowDataBound"
?????? AutoGenerateColumns
="false" >
??????
< Columns >
????????
< asp:BoundField HeaderText ="序號(hào)" DataField ="id" />
????????
< asp:BoundField HeaderText ="身份證號(hào)" DataField ="PkID" />
????????
< asp:BoundField HeaderText ="網(wǎng)址" DataField ="Title" ReadOnly ="true" HtmlEncode ="false" />
??????
</ Columns >
????
</ asp:GridView >
????
< asp:Literal ID ="HiddenOut" runat ="server" />
????
< asp:Button ID ="Button1" runat ="server" Text ="導(dǎo)出" OnClick ="Button1_Click" />
??
</ form >
</ body >
</ html >

?

另一個(gè)簡單的方法:

導(dǎo)出Excel按鈕的點(diǎn)擊事件:

private void btnMIME_CLick(object sender,System.Targetargs e)
{
Response.ContentType="application/vnd.ms-excel");
Response.Charset="";
this.EnableViewState=false;
System.IO.StringWriter sw=new StringWriter();
System.Web.UI.HtmlTextWriter hw=new HtmlTextWriter(sw);
dsShow.RenderControl(hw);
Response.Write(sw.ToString());
Response.End();
}

ASP.NET 2.0中將 GridView 導(dǎo)出到 Excel 文件中


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色噜噜在线观看 | 91大神精品长腿在线观看网站 | 免费高清精品国偷自产在线 | 激情福利视频 | 国产a区 | 国产毛片欧美毛片久久久 | 色偷偷噜噜噜亚洲男人 | 欧美精品一区二区三区在线 | jiucao视频在线观看 | av国语| 色综合久久精品中文字幕首页 | 日本高清视频www夜色资源网 | 奇米777四色影视在线看 | 国产精品一级香蕉一区 | 国产精品美女久久久久久久久久久 | 67194国产精品免费观看 | 欧美8一10sex性hd | 国产精品99爱免费视频 | 仇爱电视剧泰剧在线观看免费播放 | 三级免费网 | 成人高清在线 | 精品久久久久久久久久 | a一级黄色片 | 波多野结衣在线网址 | 成人亚洲网站 | 中文字幕av在线 | 久久久9999久久精品小说 | 国产一区日韩精品 | 国产精品久久国产精品 | 蜜臀影院| 国产精品美女www爽爽爽视频 | 欧美日韩国产色综合一二三四 | 玖玖在线精品 | 亚洲国产精品久久久久网站 | 亚洲欧美日韩在线 | 国产成人免费永久播放视频平台 | 99久久久国产精品免费观看 | 可以直接看的毛片 | 草久在线视频 | 国产精品久久久久久久一区探花 | 精品久久国产 |