Gridview导出excel方法 poi导出excel公共方法

Gridview导出excel方法2009年12月22日 星期二 13:20

方法一:

前台:
<asp:Button ID="btnExcel" runat="server"Text="导出Excel" onclick="Button1_Click" />

后台:
protected void Button1_Click(object sender, EventArgs e)
{
toExecl(GridView1);
}


// 将GridView数据导出到EXECL
private void toExecl(System.Web.UI.WebControls.GridView gv)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls"); //这里的FileName.xls可以用变量动态替换
// 如果设置为GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = newSystem.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}

public override voidVerifyRenderingInServerForm(Control control)
{
//这个方法不能删除掉
Gridview导出excel方法 poi导出excel公共方法
}

注:VerifyRenderingInServerForm方法不能删掉,否则出现

类型“GridView”的控件“ctl00_ContentPlaceHolder1_GridView1”必须放在具有runat=server 的窗体标记内

如果出现下面的情况

只能在执行Render() 的过程中调用 RegisterForEventValidation;

在导出页中
<%@ Page Language="C#"MasterPageFile="~/MasterPage2.master" EnableEventValidation="false" CodeFile="search0.aspx.cs" Inherits="search"Title="竹林风-" %>

-------------------------------------------------------------------------------------

方法二:

protected void btnExportToExcel_Click(object sender, EventArgse)
{
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
string excelFileName = "MyExcel.xls";

Context.Response.ContentType = "application/x-excel";
Context.Response.AddHeader("content-disposition","attachment;filename=" + Server.UrlEncode(excelFileName));
GridView1.RenderControl(hw);
Context.Response.Write(tw.ToString());
Context.Response.End();
}

publicoverride void VerifyRenderingInServerForm(System.Web.UI.Controlcontrol)
{
//处理「型别 'GridView' 的控件 'GridView1' 必须置于有 runat=server的窗体标记之中。」错误讯息
// 如果要限制控件必须位于 <form runat=server>标记以内,则请先呼叫这个方法,
// 才进行呈现,如此一来,如果控件位在标记以外,便会显示错误讯息。
// 会回传或是依赖已注册指令码区块的控件,应该呼叫这个方法来覆写 Control.Render 方法。
// 对于服务器窗体项目有不同呈现方法的网页,可以覆写这个方法以便在不同条件下掷回例外状况。
// 会回传或使用客户端指令码的服务器控件,
// 如果未放在 HtmlForm 服务器控件 (<formrunat="server">) 标记之内,将无法运作。'
// 当它们未被封入 HtmlForm 控件时,该控件可以呼叫这个方法来呈现清楚的错误讯息。
}

出处:http://nongfuit.com/html/71/201111/8056.html

类似导入导出文章.....

.net实现将Excel中的数据导入数据库

asp.net导入Excel 获取工作表名

ASP.NET页面数据导出到Excel或Word的方法

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/296017.html

更多阅读

excel函数实例教程:7 ADDRESS函数使用方法

excel函数实例教程:[7]ADDRESS函数使用方法——简介ADDRESS函数由于以文本方式实现对某一单元格的引用,合理的使用该函数,可实现更加灵活的单元格引用。下面小编就为大家讲解一下该函数的具体使用方法。excel函数实例教程:[7]ADDRESS函

手机通讯录直接导出到电脑为EXCEL格式 苹果通讯录导出excel

手机通讯录直接导出到电脑为EXCEL格式——简介现在有手机的人越来越多了,同时还有不少时尚达人以及部分因为业务的需要的达人们,人手好几个手机都很正常。现在又是一个智能机的时代,而手机通讯录里的电话号码也越来越多,如果把他们保存

excel中round函数的使用方法 isodd函数的使用方法

excel中round函数的使用方法——简介不少朋友都会问在excel中round函数怎么用,作为使用频率较高函数之一,本文就介绍一下round函数的使用方法。excel中round函数的使用方法——工具/原料office excelexcel中round函数的使用方法——

声明:《Gridview导出excel方法 poi导出excel公共方法》为网友敵场称丬王分享!如侵犯到您的合法权益请联系我们删除