问题描述
从服务器数据库导出数据到本地的Excel文件:先用OleDb导出数据保存为服务器的Excel文件;再用HttpResponse把文件作为流传到客户端.用HttpResponse把文件作为流传到客户端的代码如下:System.IO.FileInfofileDownLoad=newSystem.IO.FileInfo(path);Response.Clear();Response.Charset="GB2312";Response.ContentEncoding=System.Text.Encoding.UTF8;Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(fileName));Response.AddHeader("Content-Length",fileDownLoad.Length.ToString());Response.ContentType="application/Excel";Response.WriteFile(fileDownLoad.FullName);HttpContext.Current.ApplicationInstance.CompleteRequest();现在发现文件保存到客户端后,服务器上的文件仍被占用.请问:如何释放这个文件?但是这种情况只有在布署到服务器上才会出现,在本机测试没有问题.
解决方案
解决方案二:
fileDownLoad.Close();Response.Close();
解决方案三:
好像不行哦..用Response.Close();就卡住不动了..
解决方案四:
自己顶个,谢谢大家帮忙!
解决方案五:
我现在用数据流传递的方式下载到客户端,也就是把数据写到StringWriter,用Response.Write(sw)传送.这倒不会出现什么问题了,但是保存的Excel文件是不规范的,用倒是可以用,但每次打开都会提示格式不规范.还烦请诸位有好点子帮帮兄弟,谢了!