Nuget 패키지 관리 -> 찾아보기 -> EPPlus -> 설치
using OfficeOpenXml; using System; using System.Collections.Generic; using System.IO; namespace XlsxSaveProgram { class Program { static void Main(string[] args) { // 저장파일명 string xlsxfile = string.Format("Test{0}.xlsx", DateTime.Now.ToString("yyyyMMddHHmmss")); // 기존파일있을경우 삭제 FileInfo excelFile = new FileInfo(xlsxfile); if (excelFile.Exists) { excelFile.Delete(); } // 조회기간 DateTime date1 = DateTime.Now.AddDays(-7); DateTime date2 = DateTime.Now.AddDays(-1); // 시트가 여러개일 경우 string[] sheets = new string[] { "시트1", "시트2", "시트3" }; ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // 패키지가 이용가능하다면 using (ExcelPackage excel = new ExcelPackage()) { // 시트 개수만큼 반복 for (var i = 0; i < sheets.Length; i++) { // 시트 추가 excel.Workbook.Worksheets.Add(sheets[i]); // 상단 고정내용 처리 List<object[]> dataRow = new List<object[]>() { new string[] { sheets[i] }, new string[] { string.Format("{0} ~ {1}", date1.ToString("yyyy.MM.dd"), date2.ToString("yyyy.MM.dd")) }, new string[] { "컬럼1","컬럼2","컬럼3","컬럼4","컬럼5","컬럼6" } }; // 몇줄인지 cnt에저장 decimal cnt = 0; dataRow.Add(new object[] { "필드1_1", "필드2_1", "필드3_1", "필드4_1", "필드5_1", "필드6_1" }); dataRow.Add(new object[] { "필드1_2", "필드2_2", "필드3_2", "필드4_2", "필드5_2", "필드6_2" }); // 2줄만 추가했으므로 cnt = 2; string headerRange = "A1:" + Char.ConvertFromUtf32(dataRow[0].Length + 64) + "1"; // 시트선택 var worksheet = excel.Workbook.Worksheets[sheets[i]]; // 워크시트에 DataRow 를 불러옴 worksheet.Cells[headerRange].LoadFromArrays(dataRow); // 스타일 지정 worksheet.Column(1).Width = 18; worksheet.Column(2).Width = 26; worksheet.Column(3).Width = 26; worksheet.Column(4).Width = 16; worksheet.Column(5).Width = 16; worksheet.Column(6).Width = 21; worksheet.Column(1).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(2).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(3).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(4).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(5).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(6).Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; worksheet.Column(1).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Column(2).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Column(3).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Column(4).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Column(5).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Column(6).Style.Font.SetFromFont(new System.Drawing.Font("나눔고딕", 10)); worksheet.Row(1).Style.Font.Bold = true; worksheet.Row(1).Style.Font.Size = 16; worksheet.Row(1).Height = 30; worksheet.Row(2).Style.Font.Size = 12; worksheet.Row(2).Height = 24; worksheet.Row(3).Style.Font.Bold = true; worksheet.Row(3).Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; worksheet.Row(3).Style.Font.Size = 10; worksheet.Row(3).Height = 18; using (ExcelRange range = worksheet.Cells[string.Format("A3:F{0}", (cnt + 3).ToString())]) { range.Style.Border.Top.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; range.Style.Border.Left.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; range.Style.Border.Right.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; range.Style.Border.Bottom.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin; } using (ExcelRange range = worksheet.Cells[string.Format("B3:C{0}", (cnt + 3).ToString())]) { range.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; } using (ExcelRange range = worksheet.Cells[string.Format("E3:E{0}", (cnt + 3).ToString())]) { range.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; } for (var x = 0; x < cnt + 3; x++) { worksheet.Row(x + 3).Height = 18; } } // 비밀번호 pwd //excel.Encryption.Password = "pwd"; // 내용을 엑셀파일로 저장 excel.SaveAs(excelFile); // 저장위치 출력 Console.WriteLine("SavePath : {0}", excelFile); } } } }
감사합니다.
답글삭제덕분에 쉽게 해결했어요.