最近有点空就喜欢去研究研究GridView的使用,所以你如果是想要学习这方面的东西可以来参观参观。^_^

这里说明一下GridView到Excel的导出实现。平时你看到的GridView导出Excel代码可能很多了,但是我这里的肯定和你平时看到的不同,先看一下我的截图吧:

看出来了吧,我的导出是有条件可以选择的。你是想到处当前页面的数据呢还是想到处全部数据,或者是前30条数据。。。。

先说明一下我的实现原理吧。

当点击导出按钮时会去判断RadioButtonlist当前值然后去选择应该导出哪些数据到Excel。代码如下:

导出GrivView到Excel的方法:

            public static void Export(string fileName, GridView gv,int top)  
  1. {
  2. HttpContext.Current.Response.Clear();
  3. HttpContext.Current.Response.AddHeader(
  4. "content-disposition", string.Format("attachment; filename={0}", fileName));
  5. HttpContext.Current.Response.ContentType = "application/ms-excel";
  6. using (StringWriter sw = new StringWriter())
  7. {
  8. using (HtmlTextWriter htw = new HtmlTextWriter(sw))
  9. {
  10. //  Create a form to contain the grid
  11. Table table = new Table();
  12. //  add the header row to the table
  13. if (gv.HeaderRow != null)
  14. {
  15. GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);
  16. table.Rows.Add(gv.HeaderRow);
  17. }
  18. //  add each of the data rows to the table
  19. if (top == 30)
  20. {
  21. for (int i = 0; i <= 29; i++)
  22. {
  23. GridViewRow row = gv.Rows[i];
  24. GridViewExportUtil.PrepareControlForExport(row);
  25. table.Rows.Add(row);
  26. }
  27. }
  28. else
  29. {
  30. foreach (GridViewRow row in gv.Rows)
  31. {
  32. GridViewExportUtil.PrepareControlForExport(row);
  33. table.Rows.Add(row);
  34. }
  35. }
  36. //  add the footer row to the table
  37. if (gv.FooterRow != null)
  38. {
  39. GridViewExportUtil.PrepareControlForExport(gv.FooterRow);
  40. table.Rows.Add(gv.FooterRow);
  41. }
  42. //  render the table into the htmlwriter
  43. table.RenderControl(htw);
  44. //  render the htmlwriter into the response
  45. HttpContext.Current.Response.Write(sw.ToString());
  46. HttpContext.Current.Response.End();
  47. }
  48. }
  49. }
  50. /// <summary>
  51. /// Replace any of the contained controls with literals
  52. /// </summary>
  53. /// <param name="control"></param>
  54. private static void PrepareControlForExport(Control control)
  55. {
  56. for (int i = 0; i < control.Controls.Count; i++)
  57. {
  58. Control current = control.Controls[i];
  59. if (current is LinkButton)
  60. {
  61. control.Controls.Remove(current);
  62. control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text));
  63. }
  64. else if (current is ImageButton)
  65. {
  66. control.Controls.Remove(current);
  67. control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText));
  68. }
  69. else if (current is HyperLink)
  70. {
  71. control.Controls.Remove(current);
  72. control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text));
  73. }
  74. else if (current is DropDownList)
  75. {
  76. control.Controls.Remove(current);
  77. control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text));
  78. }
  79. else if (current is CheckBox)
  80. {
  81. control.Controls.Remove(current);
  82. control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "True" : "False"));
  83. }
  84. if (current.HasControls())
  85. {
  86. GridViewExportUtil.PrepareControlForExport(current);
  87. }
  88. }

本文转载处:http://blog.csdn.net/dujingjing1230/archive/2009/10/29/4744428.aspx

GridView导出到Excel(可选择记录条数)相关推荐

  1. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  2. GridView导出到Excel或Word文件

    在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能... ...

  3. GridView导出到Excel和开源图表工具

    导出GridView到Excel 把GridView导出到Excel是一个很常用的功能,在网上搜索的解决方案都是一些零碎的代码,并且有很多问题,不是在所有环境下可以通用的,你甚至还有去处理一些这些代码 ...

  4. ASP.NET 2.0中将 GridView 导出到 Excel 文件中

    下面代码实现将 GridView 导出到 Excel文件中. 值得注意的是VerifyRenderingInServerForm重载方法: MSDN上的 VerifyRenderingInServer ...

  5. Gridview导出到EXCEL

    为避免出错的准备 出错1:类型"GridView"的控件"GridView1"必须放在具有 runat=server 的窗体标记内 解决方案:在后台文件中重载V ...

  6. ASP.NET 2.0中将 GridView 导出到 Excel 文件中 (转)

    下面代码实现将 GridView 导出到 Excel文件中. 值得注意的是VerifyRenderingInServerForm重载方法: MSDN上的 VerifyRenderingInServer ...

  7. 解决gridview导出到excel中汉字出现乱码的问题

    我在用下面代码将gridview导出到excel中时,其中的汉字出现了乱码: protected void Button2_Click(object sender, EventArgs e)      ...

  8. Web页面打印及GridView导出到Excel

    打印Web页面 在头部<head>加入 打印事件 <script   language=javascript>      function   doPrint()   {    ...

  9. sql 统计记录条数后 打印出所有记录_用SQL完成购买行为分析(下篇II)

    (接<用SQL完成购买行为分析(下篇I)>内容) 12)查询首条记录为fav,总记录条数为14的记录.将前面getNum(3)红框处替换为12,运行getNum(14)得到第2条记录的数量 ...

最新文章

  1. ASP.NET画图控件 Chart Control 免费控件
  2. TomcatNginx源码笔记分析
  3. ElasticSearch第一天
  4. 获取2个地址之间的距离(高德API)
  5. 最新的.NET Framework聚焦于改进可访问性
  6. 谷歌开源的 GAN 库--TFGAN
  7. Linux 添加IPv6策略路由,26-IPv6策略路由配置
  8. c语言银行卡六位密码编译,用c语言生成六位的随机密码。
  9. Java到底能做什么事情呢?
  10. Linux系统中解决Device eth0 does not seem to be present,delaying initialization问题
  11. win10打开计算机黑屏怎么办,win10系统重启黑屏怎么办
  12. 单个html页面面包屑,总结11个网页面包屑设计技巧
  13. VC、PE和天使投资的解释与区别?
  14. 每日学英语之041104
  15. idempotent - 幂等
  16. 服务器30hz显示器240hz,液晶电视高达240Hz甚至480/960Hz的刷新率是怎么回事?
  17. 【Vue.js安装】
  18. ppt密码怎么设置,ppt权限密码如何破解?
  19. 谈谈我理解的SA——Systems Architecture
  20. 命令行快速清理Mac版搜狗输入法

热门文章

  1. 小米路由器3连接校园网(哆点)
  2. Wsyscheck(系统检测维护工具) v1.68.33绿色版
  3. 线程池面试题灵魂三问
  4. gimp怎么更改已有文字_用GIMP软件怎么制作文字图片及其倒影?
  5. webpack打包实例详解
  6. U盘linux自动安装系统,U盘自动安装系统:
  7. ArcGIS Pro中如何批量替换数据源
  8. xtgranger:面板格兰杰因果检验
  9. Linux开启守护进程
  10. 互联网文化:北京VS深圳