我们这边有一个ASP.NET导出Excel的功能,但是在导出的时候,有些情况下是正常的,有些情况就直接导出了整个页面,请问各位大神大概是什么原因导致的?
代码如下:
//Excel2007的连接字符串
string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0 Xml\"";
//执行导入
ExcuteSQL(oldds, TableName1, TableName2, strCon);
//// 输出副本的二进制字节流
//HttpContext.Current.Response.ContentType = "application/ms-excel";
//HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=MesData.xls");
//HttpContext.Current.Response.BinaryWrite(File.ReadAllBytes(filePath));
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=MesData.xls");
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
//Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
// 删除副本
File.Delete(filePath);
Response.Close();