将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 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
随机推荐
- rails 字符串 转化为 html
simple_format http://apidock.com/rails/v4.0.2/ActionView/Helpers/TextHelper/simple_format http://api ...
- Zookeeper启动Permission denied
Zookeeper 查询状态,出现如下问题: JMX enabled by default Using config: /usr/zookeeper/zookeeper-/bin/../conf/zo ...
- Data Structure Array: Largest subarray with equal number of 0s and 1s
http://www.geeksforgeeks.org/largest-subarray-with-equal-number-of-0s-and-1s/ #include <iostream& ...
- 【leetcode刷题笔记】Merge Intervals
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...
- static{}块的作用
本文转载自: https://www.cnblogs.com/caolaoshi/p/7824748.html static{}块,会且仅会在类被加载时执行一次,多用于定义静态变量或执行静态方法. 什 ...
- mutation与action
mutation 作用: 更改state的状态 说明: 每个mutation对象都有字符串类型(type)与回调函数,在回调函数内进行状态修改,回调函数的第一个参数为state eg: mutatio ...
- UVA 101 vector
题目链接 白书上的例题,关于vector的使用.不定长数组vector,类型内部封装了一些常用操作.vector就像一个二维数组,只有第一维的大小是固定的,可以像数组一样访问到其中的每一个元素. ve ...
- linux挂载/卸载优盘
linux载入优盘 查看优盘 ls /dev/ sdb1 挂载到/mnt/usb目录 mount /dev/sdb1 /mnt/usb ntfs优盘需要安装ntfs-3g mount -t ntfs- ...
- php: 0跟字符串做比较永远是true。 php大bug。
php: 0跟字符串做比较永远是true. php大bug. 如: $a = 0; if( $a == 'excel') { echo "yes"; }else{ echo &qu ...
- 分享知识-快乐自己:Liunx-大数据(Hadoop)初始化环境搭建
大数据初始化环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce 六):揭秘 ...