2025年GridView导出Excel的超好样例「建议收藏」

GridView导出Excel的超好样例「建议收藏」事实上网上有非常多关于 Excel 的样例 可是不是非常好 他们的代码没有非常全 读的起来还非常晦涩 经过这几天的摸索 最终能够完毕我想要导出报表 Excel 的效果了 以下是我的效果图 一 前台的页面图 GridView 的第一页的内容 GridView 第二页的内容 大家可能遇到这样的情况 就是这个时候导出 Excel 的时候

事实上网上有非常多关于Excel的样例,可是不是非常好,他们的代码没有非常全,读的起来还非常晦涩。经过这几天的摸索,最终能够完毕我想要导出报表Excel的效果了。以下是我的效果图。

一.前台的页面图

GridView的第一页的内容

GridView第二页的内容:

大家可能遇到这样的情况,就是这个时候导出Excel的时候,打开Excel的时候发现GridView的第二页的内容却没有导出到Excel表里面。事实上解决这样的情况,非常easy,仅仅要在导出之前,把Gridview的设置分页设置为Flase即可了。

这就能够导出所有的GridView里面的内容了,包含了GridView的第一页和第二页的内容。

二、实现的代码

1.前台的代码:


AutoGenerateColumns=”False” BorderColor=”White”
BorderStyle=”Ridge” BorderWidth=”2px” BackColor=”White” CellSpacing=”1″
GridLines=”None” onprerender=”gvRecord_PreRender”
onpageindexchanged=”gvRecord_PageIndexChanged”
onpageindexchanging=”gvRecord_PageIndexChanging” >
NextPageText=”Next” PreviousPageText=”Previous” />





’>






’>






’>






’>



/Columns>

br />

FooterStyle BackColor=”#C6C3C6″ ForeColor=”Black” />









onclick=”btnExcel_Click” />


2.后台代码例如以下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Model;
using DAL;
using System.Collections.Generic;
using System.IO;

public partial class _3C_CallManager_CallRecord : System.Web.UI.Page
{
int selectFlag = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}

public string getResult(string str)
{
if (str == “0”)
return “Haven’t called”;
if (str == “1”)
return “check-out”;
if (str == “2”)
return “success”;
if (str == “3”)
return “fail”;
if (str == “4”)
return “dealing”;
if (str == “5”)
return “Artificial wake”;
else
return “unkown”;

}
public void bind() {
selectFlag = 0;
gvRecord.DataSource = VgCallService.GetInfo();
gvRecord.DataBind();
}
protected void btnExcel_Click(object sender, EventArgs e)
{
DateTime dt = System.DateTime.Now;
string str = dt.ToString(“yyyyMMddhhmmss”);
str = str + “.xls”;

gvRecord.AllowPaging = false;
if (selectFlag == 0)
bind();
if (selectFlag == 1)
selectBind();

GridViewToExcel(gvRecord, “application/ms-excel”, str);

// Export(gvRecord, “application/ms-excel”, str);

}

///


/// 将网格数据导出到Excel
///

/// 网格名称(如GridView1)
/// 要导出的文件类型(Excel:application/ms-excel)

///

要保存的文件名称

/param>

br /> public static void GridViewToExcel(Control ctrl, string FileType, string FileName)

br /> {

br /> HttpContext.Current.Response.Charset = “GB2312”;

br /> HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;//注意编码

br /> HttpContext.Current.Response.AppendHeader(“Content-Disposition”,

br /> “attachment;filename=” + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());

br /> HttpContext.Current.Response.ContentType = FileType;//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword

br /> ctrl.Page.EnableViewState = false;

br /> StringWriter tw = new StringWriter();

br /> HtmlTextWriter hw = new HtmlTextWriter(tw);

br /> ctrl.RenderControl(hw);

br /> HttpContext.Current.Response.Write(tw.ToString());

br /> HttpContext.Current.Response.End();

br /> }

br /> ///

summary>


/// ReLoad this VerifyRenderingInServerForm is neccessary


///

/summary>

br /> ///

param name=”control”>

br /> gvRecord.DataBind();

br /> 3)点击GridView下一页的关键代码,在PageIndexChanging事件里面

br /> {

}

编程小号
上一篇 2025-08-19 19:46
下一篇 2025-02-07 20:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/141576.html