GridView导出到Excel的一个很简单实用的列子
来源:互联网 发布:13周胎儿nt数据看男女 编辑:程序博客网 时间:2024/05/18 03:36
GridView导出到Excel的一个很简单实用的列子
项目有个需求是是要把当前数据库中几个有关联的表中数据导出到一张Excel表中,方便参考,后面经过一番搜索和实践,最后成功实现该功能,现把自己实现的代码贴出来供大家参考,只是参考,各位看官有更好的方法或者效率方面更好的可以贴出来,大家一起学习,废话不多说,直接上代码和实现结果截图。
前台代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="227px" Width="100%"> <Columns> <asp:TemplateField> <HeaderTemplate> 类别 </HeaderTemplate> <ItemTemplate> <asp:Label ID="lb_type" runat="server" Text='<%#Eval("OBJ_WebSiteCategory.website_category_name") %>'></asp:Label> </ItemTemplate><%-- <EditItemTemplate> <asp:Label ID="lb_type" runat="server" Text="<%#Eval('OBJ_WebSiteCategory.website_category_name') %>"></asp:Label> </EditItemTemplate>--%> </asp:TemplateField> <asp:BoundField DataField="website_pc_productname" HeaderText="商品名" /> <asp:BoundField DataField="website_pc_url" HeaderText="商品地址" /> <asp:BoundField DataField="website_pc_sells" HeaderText="销量" /> </Columns> </asp:GridView>
后台代码:
protected void Page_Load(object sender, EventArgs e) { WebSiteProduct[] wps = new WebSiteProduct(Operator).SFunc_GetProductsByCategoryId(-1); GridView1.DataSource = wps; GridView1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { DataToExcel(this, GridView1); } public static void DataToExcel(Page p, Control c) { p.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); p.Response.Charset = ""; p.Response.ContentType = "application/vnd.ms-excel"; p.EnableViewState = false; System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw); p.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("汇总报表.xls", System.Text.Encoding.UTF8)); c.RenderControl(hw); p.Response.Write(tw.ToString()); p.Response.End(); }
//必须加上这句,不然直接会报错 public override void VerifyRenderingInServerForm(Control control) { }这里有几个地方要解释下:
1、 <asp:Label ID="lb_type" runat="server" Text='<%#Eval("OBJ_WebSiteCategory.website_category_name") %>'></asp:Label>,这个是和这个对象关联的表中的类别字段名
2、WebSiteProduct[] wps = new WebSiteProduct(Operator).SFunc_GetProductsByCategoryId(-1);,这是获取这个列表的集合,只是实现方式不同而已,实际就看做你获取的对象集合而已
最后来个图,有图有真相:
就这么多,代码很简洁,实现这些功能实际还有很多方法,下次有时间来个大总结吧。
- GridView导出到Excel的一个很简单实用的列子
- 最简单实用的GridView导出到Excel表格代码
- 这是一个gridview导出到Excel的代码方法
- GridView导出到Excel出现的问题
- gridview数据源导出到EXCEL的方法
- gridview导出到excel的几个注意事项
- gridview数据导出到Excel的研究
- gridview数据导出到Excel的研究
- gridview数据导出到Excel的研究
- POI框架导出EXCEL的简单列子(跨行跨列)合并单元格
- GridVIEW的Excel导出
- 后台导出GridView到Excel,可选择要导出的列
- 一个有关向上转型的简单列子
- Http post get的一个简单列子
- 一个最简单的 Quartz 列子
- 动态规划的一个简单列子
- GridView导出到Excel
- GridView导出到Excel
- struts2学习笔记--获取Session和request方法
- linux下 关于内存泄露
- 基于有限状态自动机实现高效xml/json解析器
- 11.14 触发器【笔记】
- win7和vista如何登录administrator账户
- GridView导出到Excel的一个很简单实用的列子
- ADO.NET的概念
- 11.14 游标【笔记】
- GDI入门实例(在VC++6.0中将JPG格式图片转换成BMP格式)
- 11 java 王少飞-JavaWeb技术之面向对象设计模式
- LeetCode 4Sum
- 【转】Aptana3 SVN Client安装
- IOS成长之路-DES+Base64 加密、解密
- C# 根据进程获取程序主窗口句柄(包括最小化和隐藏程序)