工作中可能需要把DataGrid的内容导出到其他的文件中,比如文本文件,EXCEL文件,WORD文件等等。

对于WORD、EXCEL文件,可以使用下面的方法(以下以EXCEL为例):

Response.Clear();
   Response.Buffer= true;
   Response.Charset="GB2312";    Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");  Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
   Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
   this.EnableViewState = false;    System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
   System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);    DataGrid1.RenderControl(oHtmlTextWriter);    Response.Write(oStringWriter.ToString());    Response.End();

这里使用了DataGrid的RenderControl方法,该方法输出DataGrid格式化的Html内容到一个Writer,这样,我们就可以在服务器端获得DataGrid的Html格式的代码了。

由于WORD、EXCEL都是带格式化的,所以能轻松识别HTML格式的内容,但对TEXT文件就不行了,上面的代码输出的TXT文件将是包含HTML格式的TXT文件,而不是想象中的DATAGRID的文本内容。解决办法是采用HTMLCONTROL。

HTMLCONTROL都有innerHTML和innerText两个属性,这里就利用这两个属性实现文本的导出:

HtmlGenericControl div=new HtmlGenericControl();

div.innerHTML=oStringWriter.ToString();

div.innerText就是要输出的文本了,所以上面的代码修改为:

Response.Clear(); 
Response.Buffer= true; 
Response.Charset="GB2312";    
Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
this.EnableViewState = false;    System.IO.StringWriter oStringWriter = new
System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);    
DataGrid1.RenderControl(oHtmlTextWriter);

HtmlGenericControl div=new HtmlGenericControl();
div.InnerHTML=oStringWriter.ToString();
Response.Write(div.InnerText);

Response.End();

DataGrid内容的导出相关推荐

  1. 如何实现把固定内容自动写入excel_Excel批量查找指定内容并导出

    原创: Excel and Python 微 XIN 号: 实用办公编程技能 前几天,部门的小李说"年终总结报告总算做完了,幸好是会玩Excel让自己事半功倍!" 什么日报.周报. ...

  2. CorelDRAW VBA - 段落文本内容的导出 ExportToFile 方法

    过 Text 文本对象的 ExportToFile 方法,可以实现对文本内容的导出功能.例如可以指定导出某个段落文本的指定段落范围. 参数说明 参数 描述 FileName 指定文本导出到的文件的完整 ...

  3. 华为手机的备忘录内容如何导出到OPPO手机?

    华为手机的备忘录内容如何导出到OPPO R15? 张雯前几天买了OPPO R15,需要考虑如何将记在华为手机的备忘录内容导出,华为手机用了两年了,记录了太多内容,因为是不同品牌的手机,不支持官方的云服 ...

  4. asp.net中DataGrid利用RenderControl导出Excel的问题

    asp.net中DataGrid利用RenderControl导出Excel的问题 问题: "DataGridLinkButton"的控件"DataGrid1_ctl14 ...

  5. sql server 2008 数据结构及数据内容一起导出的方法(导出脚本形式)

    由于工作的原因接触sql server 2008的数据库,其实我自己用的数据库和今天介绍的数据库不是同一个版本的.但是因工作遇到过,而那时还不知道如果在导出脚本的时候,可以把数据一起导出,网上搜的内容 ...

  6. H5 通过exceljs,根据模板替换内容,导出xlsx文件

    安装模块 npm install exceljsnpm install weixin-js-sdk index.vue,下载模板,通过exceljs写入内容,并返回base64.二进制流 <te ...

  7. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  8. 录音文件下载_录音内容如何导出?对于小白来说是难题,一招教你搞定它

    随着便携设备的普及,日常生活中使用到录音功能的情况越来越多.而在拥有录音功能的设备当中,使用录音软件即可实现录音的手机已经成为主流.基于录音文件的特殊格式,很多小伙伴不知道如何将录音文件导出,本期文章 ...

  9. 【无标题】rstudio绘制的图形导出pdf不显示文字内容,导出png正常显示

    问题: 之前绘制一个热图的时候,发现导出pdf的时候居然不显示文字!但是导出png的时候又是是正常显示的.我就纳闷了,如图所示: csdn自带的编辑器不太会调整,各位见谅将就着看哈. 原因: (手动狗 ...

最新文章

  1. Dubbo 管理能力弱?Dubbo Admin 发布 v0.1 助力服务管理能力!
  2. 对话机器学习大神Yoshua Bengio(上)
  3. 计算机网络的OSI七层模型
  4. iOS网络编程之Socket
  5. 改变Linux的DNS解析顺序(DNS到hosts)
  6. confirm 调用ajax,jQuery ajax中使用confirm,确认是否删除的简单实例
  7. Java 安装+环境配置(图文详解)
  8. 国内免备案服务器有哪些?
  9. 回忆是一杯毒酒,让人肝肠寸断
  10. SpringSecurity 密码加密
  11. 李梦恬爸爸分享之第十周课程资源
  12. Apk脱壳圣战之---脱掉“梆梆加固”的保护壳
  13. Windows平台下安装Eclipse插件,开发Hadoop应用
  14. AARRR模型的使用注意事项【防坑提醒】
  15. 亚马逊独一份的有趣规则
  16. 啥都不说了,今天就是要送书!
  17. Flink状态一致性检查点
  18. 成成你好呀笔记整理(知识点合集一)
  19. 基于ESP32的开源定时浇花系统
  20. linux 打包zip

热门文章

  1. 百练OJ:2943:小白鼠排队
  2. 【江苏】2021年下半年软考报考时间及通知
  3. 《系统集成项目管理工程师》必背100个知识点-34项目范围基准
  4. JavaScript 开发10个实用技巧
  5. C#中将表示颜色的string转换成Color
  6. 第一个SpringMVC入门程序
  7. weblogic从入门到起飞!(weblogic安装、domain配置、管理控制台)(一)
  8. java的socket读取一行就结束运行了?使用这种方法可以读取多行数据!
  9. springboot+jwt实现token登陆权限认证
  10. Flutter 完美的验证码输入框(2 种方法)