.ashx文件中输出文件的有关问题
.ashx文件中输出文件的问题想点击导出按钮,实现将数据导出为excel,于是做了一个.ashx文件(用于接收导出请
.ashx文件中输出文件的问题
想点击导出按钮,实现将数据导出为excel,于是做了一个.ashx文件(用于接收导出请求,并执行导出)
toexcel.ashx代码
C# code ... DataSet ds1 = Member.GetMembers();//获取要导出的数据 context.Response.Clear(); context.Response.Charset = ""; context.Response.ContentType = "application/vnd.ms-xls"; StringWriter stringWrite = new StringWriter(); HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); DataGrid dg = new DataGrid(); dg.DataSource = ds1; dg.DataBind(); dg.RenderControl(htmlWrite); context.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("abcdefg.xls")); context.Response.Write(stringWrite.ToString()); context.Response.End();
这段代码如果在服务器按钮事件中写,则可以成功导出excel文件,但在这里
却只输出了一个页面,里面包含了ds1里的所有数据,外加一个“确定”按钮!
不知怎么回事,请指教!
[解决办法]http://www.cnblogs.com/wrz923/archive/2008/07/17/1245002.html
接分啊!! 详细的很啊
[解决办法]用Response.WriteFile()
[解决办法]下载文件的四种方法
[解决办法]http://www.cnblogs.com/wrz923/archive/2008/07/17/1245002.html
这个的不错
[解决办法]直接写一个aspx页面,之后把这个代码复制过去,之后做一个链接就可以了.
下载和ajax貌似是没啥联系的, 难道我out了.
[解决办法]下载本来就不会刷新页面,不知你用AJAX的用意是什么
[解决办法][解决办法]使用ajax应该也可以
或许这里dg.RenderControl(htmlWrite);
不能导出,毕竟应该是页面呈现的控件才可以导吧
所以加之楼上的拼datatable方法结合你的方法实现吧
[解决办法]lz你可以这样嘛。你先在服务器端生成excle,然后下载,下载后删除,
因为本地下载的提示框是js的进程阻涉。页面不刷新
[解决办法]