EPPlus 템플릿 파일을 사용해서 엑셀파일을 작성

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과 같다.

Pie's Tech Note

생계형 개발자의 메모장

comments powered by Disqus

    rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora