ダウンロードしたファイルをここで保存アプリケーションフォルダに保存したいのですが、データシートからExcelシートとしてファイルをダウンロードしました。私はデータテーブルからダウンロードしたファイルをダウンロードするためのパスを取らず、アプリケーションフォルダに保存したい。これどうやってするの?ダウンロードしたExcelファイルのデータをデータテーブルからASP.NETのアプリケーションフォルダに保存する方法
マイコード:
public void ExportToExcel(DataSet ds)
{
using (XLWorkbook wb = new XLWorkbook())
{
foreach (DataTable dt in ds.Tables)
{
//Add DataTable as Worksheet.
wb.Worksheets.Add(dt);
}
//Export the Excel file.
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=Report.xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.TransmitFile(Server.MapPath("~/Files/Report.xlsx"));// I added this but it shows error
Response.Flush();
Response.End();
}
}
}
送信したいファイルに実際に名前を付けていないようです。ディレクトリパスのみがそこに表示されています – DiskJunky
こんにちは@DiskJunky、ファイル名を取ったときにも 'ファイルが見つかりませんでした 'と表示されます – User777
それはそのファイルをそのパスに置くことができないことを意味します。 'Server.MapPath()'の内容を 'Response.TransmitFile()'の前に文字列変数に入れると、それが解決するパスが得られます。 Windowsエクスプローラでナビゲートすると、そこにファイルがありますか? – DiskJunky