您现在的位置: 捷凌网安 >> 服务器 >> WEB开 发 >> ASP.NET >> 正文
asp.net中将DataGrid的内容导出为excel文件

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-4-17 8:48:07

在HTML页面中就一个按钮.
    //////<asp:button id="Button1" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 8px" runat="server"
         Text="导出">
      ///</asp:button>
    和 一个DataGrid
    ///<asp:datagrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 0px; POSITION: absolute; TOP: 40px" runat="server">
      ///</asp:datagrid>
    aspx.cs 文件的代码是:
    ////public class WebForm1 : System.Web.UI.Page
     {
      protected System.Web.UI.WebControls.DataGrid DataGrid1;
      protected System.Web.UI.WebControls.Button Button1;
      private   void   Page_Load(object   sender,   System.EventArgs   e)
      {

       DataGrid1.DataSource=CreateDataSource();
       DataGrid1.DataBind();
       //   在此处放置用户代码以初始化页面
      }

      ICollection   CreateDataSource()
      {
       DataTable   dt   =   new   DataTable();
       DataRow   dr;
       dt.Columns.Add(new   DataColumn("身份证号码",   typeof(string)));
       dt.Columns.Add(new   DataColumn("图书单价",typeof(decimal)));
       dt.Columns.Add(new   DataColumn("购买数量",typeof(Int32)));
       dt.Columns.Add(new   DataColumn("总价格",typeof(decimal)));
       for   (int   i   =   0;   i   <   30;   i++)
       {
        dr   =   dt.NewRow();
        dr[0]   =   "123456789123456789";
        dr[1]   =   100   *   i   /3.0;
        dr[2]   =   i   +   5;
        dr[3]   =   (decimal)dr[1]   *   (Int32)dr[2];
        dt.Rows.Add(dr);
       }
       DataView   dv   =   new   DataView(dt);
       return   dv;
      }

      private   void   Button1_Click(object   sender,   System.EventArgs   e)
      {
       Response.Clear();
       Response.Buffer=   true;
       Response.Charset="GB2312";
       Response.AppendHeader("Content-DisposITion","attachment;filename=FileName.xls");
       Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
       Response.ContentType   =   "application/ms-excel"; //设置输出文件类型为excel文件。
       this.EnableViewState   =   false;
       System.Globalization.CultureInfo   myCITrad   =   new   System.Globalization.CultureInfo("ZH-CN",true);
       System.IO.StringWriter   oStringWriter   =   new   System.IO.StringWriter(myCITrad);
       System.Web.UI.HtmlTextWriter   oHtmlTextWriter   =   new   System.Web.UI.HtmlTextWriter(oStringWrITer);
       this.DataGrid1.RenderControl(oHtmlTextWrITer); // 在这里设置保存那个数据源的数据.
       Response.Write(oStringWrITer.ToString());
       Response.End();
      }
      private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridITemEventArgs e)  //这个设置显示的格式
      {
       if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingITem)
       {
        e.ITem.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");
        e.ITem.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00");
       }
      }
      #region Web 窗体设计器生成的代码
      override protected void OnInIT(EventArgs e)
      {
       //
       // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InITializeComponent();
       base.OnInIT(e);
      }

      /// <summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// </summary>
      private void InITializeComponent()
      {
       this.Button1.Click += new System.EventHandler(this.Button1_Click);
       this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ITemDataBound);
       this.Load += new System.EventHandler(this.Page_Load);
      }
      #endregion
     }

  • 上一篇文章:

  • 下一篇文章: 没有了
  •  
    最进更新
    普通文章foxpro 更新源表05-05
    普通文章foxpro 让视图与数据源相连05-05
    普通文章foxpro 机动查询和数据输入05-05
    普通文章foxpro 多个本地数据05-05
    普通文章foxpro 维护源表05-05
    普通文章Oracle 10g Release2新功能之05-05
    普通文章将Oracle 10g内置的安全特性05-05
    普通文章ACCESS 2003 建立数据库视频05-05
    普通文章三种SQL分页法效率分析05-05
    普通文章优化MySQL数据库查询的三种方05-05
     
    推荐文章
    推荐文章教你怎样在MySQL中提高全文搜05-05
    推荐文章SQL Server中数据导入导出三05-05
    推荐文章缓冲技术提高JSP程序的性能和04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    推荐文章何时使用DataGrid、DataList04-17
    推荐文章MySQL存储过程示例04-14
    推荐文章华硕搭建Exchange2007企业邮03-14
    推荐文章升级Win 2003到Windows 200803-14
    推荐文章windows Server 2003 搭建域03-14
    推荐文章服务器成为IT中心的6个理由03-11
     
    热点文章 
    普通文章SQL Server 2008分析服务概览05-01
    普通文章Dlink路由器VPN设置04-29
    推荐文章缓冲技术提高JSP程序的性能和04-17
    普通文章教你优化你的ASP程序04-17
    推荐文章asp去除HTML标记的三个实用函04-17
    普通文章ASP添加验证码的解决方法04-17
    推荐文章何时使用DataGrid、DataList04-17
    普通文章Asp.net中禁止用户多次登录04-17
    普通文章MySQL之表结构修改04-14
    推荐文章MySQL存储过程示例04-14

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号