国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 湘阴县| 定襄县| 梁河县| 萨迦县| 广平县| 繁峙县| 铜川市| 靖边县| 从化市| 天祝| 垣曲县| 安远县| 衡阳市| 府谷县| 石嘴山市| 扎兰屯市| 伊金霍洛旗| 迁安市| 张家港市| 永吉县| 容城县| 清徐县| 洪泽县| 治多县| 安阳市| 江达县| 抚松县| 松江区| 鱼台县| 疏勒县| 花垣县| 临潭县| 武乡县| 怀仁县| 思茅市| 内乡县| 汉中市| 翼城县| 柏乡县| 景谷| 原平市|