• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#使用RenderControl将GridView控件导出到EXCEL的方法

C#使用RenderControl将GridView控件导出到EXCEL的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了rendercontrol,render,render是什么意思,octane render,thea render等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例展示了C#使用RenderControl将GridView控件导出到EXCEL的方法,是非常实用的一个功能,分享给大家供大家参考。具体如下:

主要功能代码如下:

// 把GridView输出到Excel文件 
private void ExportExcel(GridView gridView, string title, string title2, string fileName)
{
  int nHideCols = 0;
  //如果不想输出出某列,将Visible设为false即可
  for (int i = 0; i < gridView.Columns.Count; i++)
  {
 if (gridView.Columns[i].HeaderText == "设备状态")
 {
   gridView.Columns[i].Visible = false;
   gridView.Columns[i].ControlStyle.Width = 0;
   nHideCols = 1;
   break;
 }
  }
  //设定显示字符集
  Response.Charset = "utf-8";
  //设定内容字符集
  Response.ContentEncoding = Encoding.GetEncoding("utf-8"); 

  //设定文件名
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8).Replace('+', '_').Replace('-', '_'));
  //设定文件类型  也可以是application/ms-word,也可以是text/html(字符集设为gb2312)
  Response.ContentType = "application/ms-excel";
  this.EnableViewState = false;
  using (StringWriter tw = new StringWriter())
  {
 using (HtmlTextWriter hell = new HtmlTextWriter(tw))
 {
   gridView.AllowPaging = false;
   gridView.RenderControl(hell);
   string s = tw.ToString();
   s = s.Replace("\r\n", "");
   int index = s.IndexOf("<tr");
   //可以自定义Excel文件的标题
   string head = "<tr><td colspan=\"" + (gridView.Columns.Count - nHideCols).ToString() + "\" style=\"text-align: center; height: 42px; font-size: 24px; font-weight: bolder; color: #000000;\">" + title + "</td></tr>" +
   "<tr><td colspan=\"" + (gridView.Columns.Count - nHideCols).ToString() + "\" style=\"text-align: center; height: 24px; font-size: 12px; color: #000000;\">" + title2 + "</td></tr>";
   //使用Index来判断是否存在数据,当然也可以用gridView.Rows.Count来判断
   if (index != -1)
   {
 //有数据的
 s = s.Insert(index, head);
   }
   else
   {
 //没有数据的时候
 s = "<table cellspacing=\"0\" cellpadding=\"3\" rules=\"rows\" border=\"1\" id=\"" + gridView.ID + "\" style=\"background-color:White;border-color:#E7E7FF;border-width:1px;border-style:None;border-collapse:collapse;\">" +
   head + "</table>";
   }
   Response.Write(s);
   Response.End();
 }
  }
}
//同时vs2005,vs2003会报错“类型“ExGridView”的控件“GridViewMaster”必须放在具有 runat=server 的窗体标记内
//需要添加下面取消对GridViewMaster 控件验证的方法
public override void VerifyRenderingInServerForm(Control control)
{
  if (!control.GetType().Equals(gridView.GetType()))
  {
 base.VerifyRenderingInServerForm(control);
  }
}

</div>

本文实例代码备有较为详尽的注释,应该不难理解。希望本文实例对大家C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#使用RenderControl将GridView控件导出到EXCEL的方法

相关文章

  • 2017-05-28两路归并的数组与链表的实现方法
  • 2017-05-28C#登入实例
  • 2017-05-28C#的3DES加密解密算法实例代码
  • 2017-05-28C# MVC 微信支付教程系列之扫码支付代码实例
  • 2017-05-28C#之IP地址和整数互转的小例子
  • 2017-05-28C# 面向对象的基本原则
  • 2017-05-28C#中执行批处理文件(*.bat)的方法代码
  • 2017-05-28C#计算矩阵的逆矩阵方法实例分析
  • 2017-05-28c# yield提高代码性能和可读性
  • 2017-05-28用Newtonsoft将json串转为对象的方法(详解)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#创建、读取和修改Excel的方法
    • C#实现的中国移动官网手机号码采集器
    • C#调用非托管动态库中的函数方法
    • C#图像线性变换的方法
    • c# 常量和字段
    • c#各种Timer类的区别与用法介绍
    • C# Dictionary的使用实例代码
    • 用.NET创建Windows服务的方法第1/2页
    • C# IsDefined的问题
    • C#自定义HttpFilter模块完善实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有