前台页面:

<form id="form1" runat="server"> <div> <asp:GridView ID="gvPersonList" runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="Id" HeaderText="编号" /> <asp:BoundField DataField="Name" HeaderText="姓名" /> <asp:TemplateField HeaderText="性别"> <ItemTemplate> <%# Eval("Sex").ToString()=="true"?"男":"女" %> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="Age" HeaderText="年龄" /> <asp:TemplateField HeaderText="婚否"> <ItemTemplate> <%# Boolean.Parse(Eval("Married").ToString())==true?"是":"否" %> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:Button ID="btnToExcel" runat="server" OnClick="btnToExcel_Click" Text="导出到Excel" /> <asp:Button ID="btnToWord" runat="server" OnClick="btnToWord_Click" Text="导出到Word" /> </div> </form>

后台页面:

public partial class Admin_Default2 : System.Web.UI.Page { private string firstName = "赵钱孙李周吴郑王冯陈诸卫蒋沈韩杨朱秦尤许何吕施张孔曹严华"; private string lastName = "猛勇刚强豹彪雁燕蓉菲"; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindGridView(); } } private void BindGridView() { DataTable myData = CreateDataTable(); Session["MyData"] = myData; gvPersonList.DataSource = myData; gvPersonList.DataBind(); } //手动生成DataTable private DataTable CreateDataTable() { DataTable data = new DataTable(); DataColumn dcId = new DataColumn("ID", typeof(Int32)); //设置ID列自动递增 dcId.AutoIncrement = true; //设置ID列初始值为1 dcId.AutoIncrementSeed = 1; //设置ID列递增步长为1 dcId.AutoIncrementStep = 1; //将ID列添加到DataTable中 data.Columns.Add(dcId); data.Columns.Add(new DataColumn("Name", typeof(string))); data.Columns.Add(new DataColumn("Age", typeof(int))); data.Columns.Add(new DataColumn("Sex", typeof(bool))); data.Columns.Add(new DataColumn("Married", typeof(bool))); DataRow dataRow = null; Random random = new Random(); //随机生成20条记录 for (int i = 0; i < 20; i++) { dataRow = data.NewRow(); //随机生成姓名 dataRow["Name"] = firstName.Substring(random.Next(firstName.Length), 1) + lastName.Substring(random.Next(lastName.Length), 1); //随即生成介于20至100之间的年龄 int age = random.Next(20, 100); dataRow["Age"] = age; //随即设置性别 bool sex = (random.Next(100) % 2 == 0) ? true : false; dataRow["Sex"] = sex; if (((sex == true) && (age >= 22)) || ((sex == false) && (age >= 20)))//男性结婚年龄大于22周岁,女性结婚年龄大于20周岁 { dataRow["Married"] = (random.Next(500) % 2 == 0) ? true : false; } else { dataRow["Married"] = false; } data.Rows.Add(dataRow); } return data; } //override掉这个方法 public override void VerifyRenderingInServerForm(Control control) { //注释掉下面的代码,否则在asp.net2.0下会报错(注:GridView是asp.net 2.0下的控件,1.1下一些控件也可以导出成Excel或者Word) //base.VerifyRenderingInServerForm(control); } protected void btnToExcel_Click(object sender, EventArgs e) { Response.Clear(); Response.BufferOutput = true; //设定输出的字符集 Response.Charset = "GB2312"; //假定导出的文件名为FileName.xls Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置导出文件的格式 Response.ContentType = "application/ms-excel"; //关闭ViewState EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); gvPersonList.RenderControl(textWriter); //把HTML写回浏览器 Response.Write(stringWriter.ToString()); Response.End(); } //导出成Word文件 protected void btnToWord_Click(object sender, EventArgs e) { Response.Clear(); Response.BufferOutput = true; //设定输出的字符集 Response.Charset = "GB2312"; //假定导出的文件名为FileName.doc Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.doc"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 设置导出文件的格式 Response.ContentType = "application/ms-word"; //关闭ViewState gvPersonList.EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); gvPersonList.RenderControl(textWriter); // //把HTML写回浏览器 Response.Write(stringWriter.ToString()); Response.End(); } }

GV导出EXCEL,Word相关推荐

  1. asp.net网页中导出EXCEL,WORD的环境设置验证实例

    最近公司的业务服务器需要配置导出EXCEL,WORD的环境.程序是由其它公司开发的,这个环境的配置真的不好弄.会出现类似 检索 COM 类工厂中 CLSID 为{00024500-0000-0000- ...

  2. JS 导出Excel,Word

    //导出Excel function AllAreaExcel()       {        var oXL = new ActiveXObject("Excel.Application ...

  3. JavaScript直接导出Excel,Word

    <HTML>   <HEAD>     <title>WEB页面导出为EXCEL文档的方法     </title>   </HEAD> & ...

  4. .NET 导出Excel

    ExportData类: View Code /// <summary>/// xxx/// 导出报表数据存入word或excel文件/// 2012-03-21/// </summ ...

  5. 在.NET环境下将报表导出Excel和Word

    在VB.NET同样可以将报表导出到Excel和Word进行输出,制作出专业水平的报表.具体操作如下:(注:首先需添加引用,选择COM-->选择Microsoft Word Object Libr ...

  6. .net 导出excel和word

    导出Word:     private   void   Button13_Click(object   sender,   System.EventArgs   e)     {     this. ...

  7. Java导出Excel或word jsp页面直接转的方式

    2.jsp页面直接转成Excel或是word方式: 首先,在web.xml上添加上告诉浏览器该资源的媒体类型: <mime-mapping><extension>doc< ...

  8. EasyOffice-.NetCore一行代码导入导出Excel,生成Word

    Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差--比 ...

  9. 导出excel、word、csv文件方法汇总

    excel文件主要是输出html代码.以xls的文本格式保存文件. 生成excel格式的代码: [code lang="CSharp"] /// <summary> / ...

最新文章

  1. AI 医生正式上岗了?AI 医疗结合迎爆发点!
  2. network location awareness启动不了_【新手看过来】无钥匙启动功能
  3. 无关程序,一点感言.
  4. iOS中本地化字符串
  5. linux命令-- pstack命令(跟踪进程栈)
  6. [转]Redis内部数据结构详解-sds
  7. java实验6 词频统计_Java实现的词频统计——单元测试
  8. Python攻克之路-生成器
  9. [BZOJ2006][NOI2010]超级钢琴
  10. 【HTML5】创造一款成功HTML5游戏的完整指南
  11. 计算机求百钱买百鸡问题采用,5.5 百钱买百鸡问题
  12. 框架设计--第八章 动态SQL--习题答案
  13. Android面试准备复习之Android知识点大扫描
  14. PostScript语言里的珠玑
  15. python无法打开excle_python – xlsxwriter模块无法正确打开/关闭Excel文件
  16. ipad发布会ipad_ipad十周年,从办公室的角度
  17. 台式计算机开机黑屏,联想台式电脑开机黑屏出现英文字母,怎么办?
  18. 带变压器和不带变压器的RJ45
  19. MySQL枚举类型的“八宗罪”
  20. git bisect 与 git blame

热门文章

  1. win7系统中文显示乱码解决方法
  2. 如何搭建现代化的费用管理体系
  3. MySQL删除重复行
  4. 我的Java学习之路(六)-- 银行卡系统
  5. mastercard 接口_万事达卡(MasterCard)和维萨(Visa)取消了广受欢迎的付款验证计划...
  6. CSS -- CSS背景设置总结(纯色背景、背景图片)
  7. HarmonyOS鸿蒙开发入门 :鸿蒙系统介绍
  8. win10连接实验室惠普打印机
  9. 使用netcat(nc命令)发送udp包
  10. 2015年终工作总结