• 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:@");
            }
        }
  • 相关阅读:
    HTML5 拖放(Drag 和 Drop)详解与实例
    JS中的六大数据类型
    关于创建本地docker仓库
    关于使用国内dock仓库,网易、DaoCloud
    关于Docker开通远程访问端口2375
    多个消费者监听同一个队列
    SQLite -附加数据库
    解密JDK8 枚举
    LoraLU
    深入理解display属性
  • 原文地址:https://www.cnblogs.com/fumj/p/2799754.html
Copyright © 2020-2023  润新知