EPPLUS テンプレートからエクセルファイル作成
using System.IO; using OfficeOpenXml; // テンプレートファイルを元にDBから取得した値を指定したセルに設定したい場合、且つbyte[]をエクセルでファイルダウンロードさせる場合 byte[] source; MemoryStream stream = new MemoryStream(); using (var template = System.IO.File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "/App_Data/template.xlsx")) using (var package = new ExcelPackage(stream, template)) { ExcelWorksheet worksheet = null; worksheet = package.Workbook.Worksheets.Where(s => s.Name == "Sheet1").FirstOrDefault(); // 設定したい内容を設定 worksheet.Cells[5, 2].Value = "value1"; worksheet.Cells[5, 3].Value = "value2"; worksheet.Cells[5, 4].Value = "value3"; package.Save(); source = stream.ToArray(); }
補足
ContentTypeの設定
拡張子がXLSXの場合
ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
拡張子がXLSMの場合
ContentType = "application/vnd.ms-excel.sheet.macroEnabled.12";
※テンプレート読み込みと作成はXLSXと同様