2017-04-10 25 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文件,并且根据用户选择做什么,无论如何都要打开它。

另外,您应该用双引号包围文件名。

不能得到浏览器保存到一个特定的位置 - 这将是开放滥用。