在系統中經常出現這樣的情況就是產生excel流並將生成的Excel 流傳給用戶
一般的來講
可以利用Response 來向客戶端發送一個HTTP頭,並將Excel流發送出去就可以
拉
但會出現一個問題
就是點擊開啟的時候會出現兩次文件下載對話框
主要的原因:(現在的猜測,還沒有找到準確的原因)。
第一次開啟時,在系統中已經存在了excel流的臨時文件(就是文件,沒有文件的後綴名的存在) ,但沒有原來的(真實文件的存在),要求用戶是否將臨時文件保存到計算機其他的位置上。 (是否跟沒有後綴名有關)
第二次,選擇客戶端檔案的位置,是否儲存到其他的非臨時資料夾位置。
現在的解決方案是
新建一個頁面專門提供導出資料的
在這個頁面中的Page_load中寫出這樣的程式碼
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置使用者程式碼以初始化頁面
ReportRule reportRule=new ReportRule();
byte[] result= reportRule.RenderReport(HttpContext.Current.Server.UrlDecode(this.Request.QueryString["peportpath"]),Request.QueryString["id"]); //產生流
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AppendHeader("Content-disposition","attachment;filename=hahh.xls");
HttpContext.CurrentB.Response.CurrentB. (result);
HttpContext.Current.Response.End();
}