将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 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
随机推荐
- Storm,Spark和Samza
http://www.csdn.net/article/2015-03-09/2824135 Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topolo ...
- 每天一个Linux命令(23)chmod命令
chmod命令用来变更文件或目录的权限. 在UNIX系统家族里,文件或目录权限的控制分别以读取.写入.执行3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目 ...
- python 3 并发编程多进程 paramiko 模块
python 3 paramiko模块 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的pa ...
- ll指令输出解析
从左到右: 文件属性 共有10-11位,分别表示: 1.表示目标属性,d目录,l连结文件,-文件 2-4,owner权限,顺序为: r可读.w可写.x可执行,例如: rwx可读写执行,rw-可读写不能 ...
- Never Go Away
Hey if you ever want to leave it allif you ever want to lose control leave it all escape so far away ...
- Luogu-4410 [HNOI2009]无归岛
裸的仙人掌最大独立子集,结果一个zz的错误让我调了好久... \(-inf\)开始设为\(0x7fffffff\)结果\(A_i\)有负数一加就炸了 #include<cstdio> #i ...
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person: def setName(self,name): self.name=n ...
- maven 相关插件
maven打包配置,到底要打包哪些文件,如何配置??使用如下插件: <build> <finalName>weatherAdminSys</finalName> & ...
- sqlserver 2008 创建数据库的时候不是空库,里面总有数据的解决办法
SqlServer2008 里面有个系统数据库 Model 数据库,在创建新数据库的时候,会以它为模板创建,所以如果发现你的Model数据库比较大,说明里面有很多模板数据.此时如果需要去创建没有数据的 ...
- Outlook 2010打开没反应,只有任务栏有图标的解决方法
Outlook 2010打开没反应,任务栏图标显示如下: 解决方法: 按下Windows+R键,输入regedit: 按回车: 请在注册表编辑器中定位到以下键值,重命名以下4项(比如将outlook重 ...