asp.net导出excel并提供给客户端下载后,怎么给页面一个返回值
页面<form>表单中有一个asp服务器控件的按钮和一个gridview,点击按钮,先执行OnClientClick,指向一个js函数,这个函数的功能是在页面增加一个Loading加载中效果的div,之后执按钮OnClick绑定的.cs文件中的函数,该函数会取得gridview的所有数据在服务器上生成一个excel文件,并输出给客户端弹窗下载,以上功能都完成了,现在的问题是,如何在当用户点击下载窗口上的保存、取消后,通知页面删除Loading加载效果的div
在前台加过hidden、select等控件,也加了属性ruant=server,打算通过在后台改变它的值来触发onChange事件通知页面,但当后台按钮单击的函数里同时写了导出excel、输出下载的代码后,改变控件值的代码没出效果,页面上的值并没被改变,后台注册js脚步也是一样
页面布局主要代码:
.cs文件中按钮单击事件绑定的函数:
ExceuteGridView函数最后的提供输出下载窗口的代码:
在前台加过hidden、select等控件,也加了属性ruant=server,打算通过在后台改变它的值来触发onChange事件通知页面,但当后台按钮单击的函数里同时写了导出excel、输出下载的代码后,改变控件值的代码没出效果,页面上的值并没被改变,后台注册js脚步也是一样
页面布局主要代码:
<body onload="load()" style=" background:#F4F4F4;">
<form id="form1" runat="server">
<asp:Button ID="btnExport" Text="导出Excel" OnClick="btnExport_Click" OnClientClick="loadingDelay(10000)" runat="server"/>
<div id="divMain_B">
<asp:GridView ID="gdvMain" runat="server" AutoGenerateColumns="False" Width="1150px"
GridLines="None" ShowFooter="True" DataSourceID="SqlDataSource1" ShowHeaderWhenEmpty="True"
EmptyDataText=" 没有您查找的数据">.cs文件中按钮单击事件绑定的函数:
//将gridviewd的数据导出到excel文件并发送到客户端下载(将在服务器磁盘上生成一份excel文件)
protected void btnExport_Click(object sender, EventArgs e)
{
//类似下面的这行代码去改变页面控件的值,均无效果,线程sleep也不行
this.sltLoadingTag.SelectedIndex = 1;
////grid导出excel文件
ExcelHelper helper = new ExcelHelper();
helper.ExceuteGridView(this.gdvMain, Page.Response);
}ExceuteGridView函数最后的提供输出下载窗口的代码:
r.Clear();
r.Charset = "GB2312";
r.ContentEncoding = System.Text.Encoding.UTF8;
r.ContentType = "application/octet-stream";
//通知浏览器下载文件
r.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
r.AddHeader("Content-Length", bytes.Length.ToString());
//使用二进制流传输(若使用r.WriteFile传输,将使下载后的excel文件格式异常)
r.BinaryWrite(bytes);
r.Flush();
r.End();
...全文
相关推荐
asp.net+Ajax实现Excel文件导出
asp.net+Ajax,实现Excel文件导出
ASP.NET导出EXCEL超高兼容
网上的代码基本都是不能兼容的,一旦在EXCEL2007打开,就会提示扩张名不一致问题,自己研究了好久,封装了一套,希望能帮到有需要的人,绝对能用
ASP.NET Core 导入导出Excel xlsx 文件实例
本篇文章主要介绍了ASP.NET Core 导入导出Excel xlsx 文件,非常具有实用价值,需要的朋友可以参考下。
asp.net 导出数据与图片到excel
asp.net 导出图片到excel .net导出excel
asp.net使用npoi读取excel模板并导出下载详解
主要介绍了asp.net使用npoi读取excel模板并导出下载的示例,大家参考使用吧


