zoukankan      html  css  js  c++  java
  • asp.net导出excel文件方法之一

        public void Data2Excel(DataTable dtData)
        {
            System.Web.UI.WebControls.DataGrid dgExport = null;
                // 当前对话 
               System.Web.HttpContext curContext = System.Web.HttpContext.Current; 
                // IO用于导出并返回excel文件 
                System.IO.StringWriter strWriter = null; 
               System.Web.UI.HtmlTextWriter htmlWriter = null;
    
               if (dtData != null)
               {
                   // 设置编码和附件格式 
                   curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=ExportStudentInfo.xls");
                   curContext.Response.ContentType = "application/vnd.ms-excel";
                   curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
                   curContext.Response.Charset = "";
    
                   // 导出excel文件 
                   strWriter = new System.IO.StringWriter();
                   htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
    
                   // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid 
                   dgExport = new System.Web.UI.WebControls.DataGrid();
                   dgExport.ItemDataBound += new DataGridItemEventHandler(dgExport_ItemDataBound);
                   dgExport.DataSource = dtData.DefaultView;
                   dgExport.AllowPaging = false;
                   dgExport.DataBind();
    
                   // 返回客户端 
                   dgExport.RenderControl(htmlWriter);
                   curContext.Response.Write(strWriter.ToString());
                   curContext.Response.End();
               }
        }
    
        void dgExport_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                e.Item.Cells[3].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
                e.Item.Cells[5].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
            }
        }
  • 相关阅读:
    ORM模型框架(使用mysql)
    Python操作Mysql
    Jmeter操作数据库
    .NetCore+OpenSSL实现Https
    深入理解Https如何保证通信安全
    关于数据库事务和锁的一些分析
    C# Task.Run与Task.Factory.StartNew
    WPF 元素代理解决MVVM模式下DataGridColumn绑定无效问题
    WPF DataGrid行拖拽
    C#集合Clear()和new的性能差异
  • 原文地址:https://www.cnblogs.com/fumj/p/2799754.html
Copyright © 2011-2022 走看看