国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:12:36
字體:
供稿:網(wǎng)友
中國最大的web開發(fā)資源網(wǎng)站及技術(shù)社區(qū),

  下面代碼實(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# 代碼

<%[email protected] 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 >歡迎光臨【孟憲會之精彩世界】</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)出的文件將會出現(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="序號" datafield="id" />
        <asp:boundfield headertext="身份證號" 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>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 剑河县| 同仁县| 登封市| 来安县| 得荣县| 宜兴市| 古蔺县| 安乡县| 高陵县| 玉门市| 裕民县| 神木县| 丹棱县| 玉树县| 禄丰县| 云安县| 屏东县| 松潘县| 泗洪县| 图们市| 法库县| 靖西县| 阳谷县| 康马县| 崇明县| 绥宁县| 鹤山市| 井研县| 龙陵县| 文登市| 襄汾县| 南召县| 资中县| 吉木乃县| 汝州市| 多伦县| 马尔康县| 密山市| 邹城市| 武宣县| 张家口市|