2017-04-10 35 views
0

我正在使用Excel Helper類生成Excel數據表中的每個數據表作爲excel中的工作表。HTTP響應 - Excel文件 - 保存到磁盤

我能夠獲得多個工作表的excel,但有什麼方法可以直接從代碼保存到一個位置。

由於excel直接下載,當我運行的代碼,我不得不手動保存它。請告知。

public static void ToExcel(DataSet dsInput, string filename, HttpResponse response) 
    { 
     var excelXml = GetExcelXml(dsInput, filename); 
     response.Clear(); 
     response.AppendHeader("Content-Type", "application/vnd.ms-excel"); 
     response.AppendHeader("Content-disposition", "attachment; filename=" + filename); 
     response.Write(excelXml); 
     response.Flush(); 
     response.End(); 
    } 


    Using the helper class to genrate Dataset into multiple tabs // 
     try 
     { 

      ds = obj.Get_Tables(); 
     } 
     ExcelHelper.ToExcel(ds, "AlertDetails.xls", Page.Response); 

回答

0

如果您設置了response.ContentType = "application/octet-stream",瀏覽器將提供保存文件的機會。瀏覽器可以檢查文件的開始,並確定它是一個Excel文件,並且根據用戶選擇做什麼,無論如何都要打開它。

另外,您應該用雙引號包圍文件名。

不能得到瀏覽器保存到一個特定的位置 - 這將是開放濫用。