实现代码如下:

//由gridviw导出为Excel
public static void ToExcel(System.Web.UI.Control ctl)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}


这是一段网上很多人使用的导出EXCEL代码,但使用过程中发现很多不足的地方,其不用引入其它控件。
缺点:
1、我采用ASPNETPAGER分页时只能导出第一页。
2、使用十分不灵活,对样式的控制,字段的控制不灵活。

使用中需要注意:
1、 <%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="Default.aspx.cs" Inherits="_Default"%>
加上这句。

2、在后台文件中加上:
public override void VerifyRenderingInServerForm(Control control)
{

 }
3、需引入 using System.IO;

赞(0) 踩(0)
发表我的评论

最新评论

  1. 暂无评论