博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net导出excel文件方法两则
阅读量:6909 次
发布时间:2019-06-27

本文共 3514 字,大约阅读时间需要 11 分钟。

方法一

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:@");        }    }

 方法二:

private void Data2Excel(System.Data.DataTable dtData)    {        System.Web.HttpContext curContext = System.Web.HttpContext.Current;        if (dtData != null)        {            // 设置编码和附件格式             if (curContext.Request.UserAgent.Contains("MSIE"))            {                curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("报考信息.xls", System.Text.Encoding.UTF8));            }            else            {                curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=报考信息.xls");            }            curContext.Response.ContentType = "application/vnd.ms-excel";            curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;            curContext.Response.Charset = "";            System.Text.StringBuilder sb = new System.Text.StringBuilder();            sb.Append("
"); sb.Append("
"); for (int i = 0; i < dtData.Rows.Count; i++) { string stuCount = dtData.Rows[i]["PersonCount"].ToString() == "" ? "0" : dtData.Rows[i]["PersonCount"].ToString(); sb.AppendFormat("
", dtData.Rows[i]["NUM"], dtData.Rows[i]["SiteName"], dtData.Rows[i]["SiteCode"], dtData.Rows[i]["CenterCount"], dtData.Rows[i]["RoomCount"], stuCount, dtData.Rows[i]["SequenceName"]); } sb.Append("
序号 名称 编码 数量 场数量 xuesheng数量 轮次信息
{0} {1} {2} {3} {4} {5} {6}
"); curContext.Response.Write(sb.ToString()); curContext.Response.End(); } }

 

转载地址:http://vogdl.baihongyu.com/

你可能感兴趣的文章
ios 上拉载入下拉刷新Dome
查看>>
Objective-C:NSMutableString类的常见操作
查看>>
用javascript操作xml
查看>>
突破Windows系统默认用户句柄与GDI句柄限制
查看>>
SQLServer 2016安装时的错误:Polybase要求安装Oracle JRE 7更新51或更高版本
查看>>
光流定位原理是什么??【转】
查看>>
POJ 2778 DNA Sequence (AC自己主动机 + dp)
查看>>
JS排序的运用
查看>>
堆排序
查看>>
uC/OS-II源码分析(一)
查看>>
Redis自学笔记 --string类型
查看>>
【c++】动态绑定
查看>>
WCF NetTcpBinding Transport安全模式(8) ClientCredentialType证书验证模式---- PeerOrChainTrust验证模式...
查看>>
A.4.1-类的继承(implement)
查看>>
Nginx中防盗链(下载防盗链和图片防盗链)及图片访问地址操作记录
查看>>
super返回不过来
查看>>
Git学习(一) 版本号管理工具
查看>>
cas服务器源码阅读笔记,对标博客
查看>>
细说ES7 JavaScript Decorators
查看>>
C# Win32控制台线程计时器代码示例
查看>>