본문 바로가기
개발/ASP.NET

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

by ispie 2019. 1. 16.
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과 같다.

 

 

원글 작성일  2016-12-21

 

댓글