.net gridview导出数据
来源:互联网 发布:数控机床自动编程 编辑:程序博客网 时间:2024/06/13 22:09
导出数据,另存为excel 在数据管理后台当中经常用到,之前找了不少代码,试验了好多次,现在把代码整理保存一下
首先重载VerifyRenderingInServerForm
/// <summary> /// GridView如果需要实现导出Excel功能,则该函数需要重载 /// </summary> /// <param name="control"></param> public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for }
然后清除表格中的控件,由于有一些需要处理的数据往往是用label或者其他控件进行设置的,所以要清除控件
/// <summary> /// 清除控件中的所有控件,以便导出Excel /// </summary> /// <param name="control"></param> private void ClearControls(Control control) { for (int i = control.Controls.Count - 1; i >= 0; i--) { ClearControls(control.Controls[i]); } if (!(control is TableCell)) { if (control.GetType().GetProperty("SelectedItem") != null) { LiteralControl literal = new LiteralControl(); control.Parent.Controls.Add(literal); try { literal.Text = (string)control.GetType().GetProperty("SelectedItem").GetValue(control, null); } catch { } control.Parent.Controls.Remove(control); } else if (control.GetType().GetProperty("Text") != null) { LiteralControl literal = new LiteralControl(); control.Parent.Controls.Add(literal); literal.Text = (string)control.GetType().GetProperty("Text").GetValue(control, null); control.Parent.Controls.Remove(control); } } return; }
然后就是导出数据了
/// <summary> /// 导出Excel功能 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Btn_Excel_Click(object sender, EventArgs e) { try { //如果使用gridview自动分页则设置allowpage为false,不分页读取全部数据,如果没有使用自带的分页工具,那么将每页的数据条数设置为最大 pagesize = 10000; gridView.ShowFooter = false; LadaData(); Response.Clear(); Response.Buffer = true; Response.Charset = "utf-8"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("数据明细" + System.DateTime.Now.Date.ToString("yyyyMMdd")) + ".xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文 Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 EnableViewState = false; System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); ClearControls(gridView); gridView.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End(); //还原分页显示 pagesize = 15; gridView.ShowFooter = true; LadaData(); } catch (Exception) { Maticsoft.Common.MessageBox.Show(this,"导出失败,请重试!"); } }
0 0
- .net gridview导出数据
- asp.net gridview 数据导出到excel
- ASP.NET GridView导出数据到Excel
- asp.net GridView数据导出到Excel
- 【asp.net】将GridView数据导出Excel
- Net gridview导出exel
- ASP.NET GridView导出
- asp.net 2.0 GridView导出数据到Excel
- Asp.net 2.0 GridView数据导出Excel文件
- Asp.net 2.0 GridView数据导出Excel文件
- asp.net中将gridview数据导出成Excel问题解决
- asp.net中gridview数据导出到excel
- asp.net 将GridView中的数据导出到Excel
- Asp.net GridView数据导出到Excel,Word
- .net从gridview控件导出数据到excel续
- asp.net中将gridview数据导出成Excel
- GridView数据导出
- Asp.net GridView 导出Excel
- 第九周实践项目2—对称矩阵压缩存储的实现与应用(1)
- 第11周上机实践项目1—二叉树算法验证(3)中序线索化二叉树的算法验证
- 国内公有云对比(1)- 功能篇
- 揭开Spring事务处理
- 第八周,建立顺序串的算法库。
- .net gridview导出数据
- 第九周 稀疏矩阵的三元表示的实现
- UI 学习 第一章 UIWindow UIview
- JAVA抽象类与接口的区别
- MySQL命令执行sql文件的两种方法
- 顺序串
- offsetLeft,Left,clientLeft详解
- 第十一周项目5用二叉树求解代数表达式
- *第十一周*数据结构实践项目一【二叉树的层次遍历算法】