将gridview 的数据导出EXCEL
gridview数据
单击“导出EXCEL”按钮后
/// <summary>
/// 导EXCEL
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnExcel_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
Response.Charset = "gb2312";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); gvValueList.AllowPaging = false;
fun.GvDataInit(sql.selEntryTable, gvValueList, ddlMonth.SelectedValue.Trim());//绑定GV
gvValueList.RenderControl(htmlWrite); Response.Write(stringWrite.ToString());
Response.End();
gvValueList.AllowPaging = true;
fun.GvDataInit(sql.selEntryTable, gvValueList, ddlMonth.SelectedValue.Trim());//绑定GV
} /// <summary>
/// 导出EXCEL,要写一个空的VerifyRenderingInServerForm方法
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
} /// <summary>
/// 绑定GridView数据
/// </summary>
/// <param name="sqlID"></param>
/// <param name="gv"></param>
public void GvDataInit(string sqlID, GridView gv, string Condition1)
{
try
{
DataTable dt = null; dt = BLL.SQLHandler.SearchData(sqlID, Condition1); if (dt != null && dt.Rows.Count > )
{
gv.DataSource = dt;
}
else
{
gv.PageIndex = ;
} gv.DataBind(); }
catch (Exception ex)
{
gv.PageIndex = ;
throw ex; }
}
若报错提示如下:
报RegisterForEventValidation can only be called during Render()错误 .
将
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddEntrytable.aspx.cs" Inherits="AddEntrytable" %>
修改为
<%@ Page Language="C#" EnableEventValidation="false" AutoEventWireup="true" CodeFile="AddEntrytable.aspx.cs" Inherits="AddEntrytable" %>
方二:
protected void btnExcel_Click(object sender, EventArgs e)
{
gvValueList.AllowPaging = false;
databind(); ToExcel(this.gvValueList, System.Web.HttpUtility.UrlEncode("test.xls", System.Text.Encoding.UTF8));
//Response.Clear();
//Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
//Response.Charset = "gb2312";
//Response.ContentType = "application/vnd.xls";
//System.IO.StringWriter stringWrite = new System.IO.StringWriter();
//System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); //gvValueList.AllowPaging = false;
//databind();
//gvValueList.RenderControl(htmlWrite); //Response.Write(stringWrite.ToString());
//Response.End();
//gvValueList.AllowPaging = true;
//databind();
}
private void ToExcel(Control ctl, string FileName)
{
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName);
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
} public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}
将gridview 的数据导出EXCEL的更多相关文章
- 将GridView的数据导出Excel
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename ...
- 【asp.net】将GridView数据导出Excel
概要: 中午睡了一会,醒来的时候看到老师叫我去办公室,需求是这样的,把excel表中的每个同学,判断图片目录中是否有对应的照片(图片的名字用的学号或身份证号码) 没有对应图片的学生记录,存入自己的数据 ...
- Gridview数据导出excel时身份证号码为科学计数法的解决方法
if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowInde ...
- 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?
好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- JavaScript 上万条数据 导出Excel文件(改装版)
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var ...
- JavaScript 上万条数据 导出Excel文件 页面卡死
最近项目要js实现将数据导出excel文件,网上很多插件实现~~那个开心呀,谁知道后面数据量达到上万条时出问题:浏览器不仅卡死,导出的excel文件一直提示网络失败.... debug调试发现var ...
- 将页面中表格数据导出excel格式的文件(vue)
近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安 ...
- yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法
作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
随机推荐
- 禁用chrome浏览器的cookie
Chrome: 1.打开chrome浏览器,点击右上角的“自定义和控制Google Chrome”按钮 2.在下拉菜单中选择设置 3.点击设置页底部的“显示高级设置...” 4.在隐私设置下,点击“内 ...
- flex 特性
flex grow 分配的比例是对整体,比如 A grow 3 B grow 4,A连同margin一块是3
- Ionic background地址写法问题
1.背景图片 background:url(‘/img/text.jpg') 这种写法在手机上不好使 ’../img/text.jpg' 这种在手机上好使
- 牛客小白月赛1 H 写真がとどいています 【循环】
题目链接 https://www.nowcoder.com/acm/contest/85/H 思路 如果熟悉 五线谱 才能做啊... 然后 先竖着遍历 再 横着 遍历 就可以了 AC代码 #inclu ...
- import与import static
import ......className (静态导入) 功能: 导入一个类 import static ......className.* 功能:导入这个类里的静态方法,是JDK1.5中的新特性, ...
- python作用域和js作用域的比较
1.python和js一样,作用域链在执行方法之前就已经创建了 # 下面的执行结果就是aa,原因是这点python和js一样,作用域链已经创建了,不会去改变 xo="aa" def ...
- 一步一步带你分析 requirejs
详细源代码一共就2000多行,来看我这篇分析的同学应该都下载下来了,好了,话不多说,开始: 代码的开头就出现3个全局变量: requirejs, require, define var require ...
- [Vue] 初识Vue-常用指令
Vue Vue是一套用于构建用户界面的渐进式框架, Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.Vue是一个JavaScript MVVM库, 以数据驱动和组件化的思想构 ...
- 英语发音规则---th
英语发音规则---th 一.总结 一句话总结: th发/ð/音的情况:a.在th后以字母-er结尾的单词中:b.在代词.冠词.介词.连词或副词中的字母组合th th发/θ/音的情况:a.在数词(包括基 ...
- winform 中的Anchor 和 Dock 属性设置
在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来不显得很乱,并编写许多代码行来达到这个目的,许多程序解决这个问题是地,都是禁止给窗口重新设置大小,这显然是解决问题 ...