2017-04-10 20 views
0

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ファイルであると判断し、ユーザーが選択した内容に応じてファイルを開きます。

また、ファイル名を二重引用符で囲む必要があります。

あなたはできません。ブラウザを特定の場所に保存するように設定してください。悪用される可能性があります。

関連する問題