Last active
August 31, 2023 03:50
-
-
Save m8s00/b0d83255dc39e34ffc83a705f7515fdd to your computer and use it in GitHub Desktop.
C# Xlsx.SaveAs.MemoryStream
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using (XLWorkbook book = new XLWorkbook(XLEventTracking.Disabled)) | |
{ | |
//IXLWorksheet sheet = book.AddWorksheet("1"); | |
IXLWorksheet sheet = book.Worksheets.Add("1"); | |
sheet.Range("A1").Value = "test"; | |
// ファイルダウンロード | |
HttpResponse response = Page.Response; | |
// レスポンス情報を初期化 | |
response.Clear(); | |
// コンテントタイプにXML形式を設定 | |
response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; | |
// ダウンロードファイル名の設定 | |
response.AddHeader("content-disposition", "attachment;filename=" + Page.Server.UrlEncode("TEST.XLSX")); | |
// 編集したワークブックを一度、メモリ上に保存し、レスポンスの出力ストリームに転送することによりテンポラリファイルが不要となる | |
using (MemoryStream MyMemoryStream = new MemoryStream()) | |
{ | |
// メモリストリーム確保 | |
book.SaveAs(MyMemoryStream); | |
// ワークブックを保存 | |
MyMemoryStream.WriteTo(response.OutputStream); | |
// レスポンスの出力ストリームに転送 | |
MyMemoryStream.Close(); | |
// メモリストリーム解放 | |
} | |
// レスポンスEND | |
response.End(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment