Microsoft Office를 설치하지 않고 C#에서 Excel 파일 만들기

Microsoft Office를 설치하지 않고 C#에서 Excel 파일 만들기
Microsoft Office를 설치하지 않고 C#에서 Excel 파일 만들기

C#에서 Excel 파일을 원활하게 생성

C#에서 Excel 파일(.XLS 및 .XLSX)을 만드는 것은 많은 애플리케이션에서 중요한 요구 사항일 수 있습니다. 그러나 서버나 클라이언트 시스템에 Microsoft Office를 설치하는 것은 비실용적이고 번거로울 수 있습니다.

다행히 개발자가 Microsoft Office 없이도 C#에서 프로그래밍 방식으로 Excel 스프레드시트를 생성할 수 있는 강력한 라이브러리와 도구가 있습니다. 이 기사에서는 이를 효율적으로 달성하기 위한 다양한 방법과 라이브러리를 살펴봅니다.

명령 설명
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; EPPlus의 라이센스 컨텍스트를 비상업적 용도로 설정합니다.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); EPPlus를 사용하여 Excel 패키지에 "Sheet1"이라는 새 워크시트를 만듭니다.
worksheet.Cells[1, 1].Value = "Hello"; EPPlus를 사용하여 행 1, 열 1의 셀 값을 "Hello"로 설정합니다.
IWorkbook workbook = new XSSFWorkbook(); NPOI를 사용하여 .XLSX 파일을 만들기 위한 새 통합 문서 인스턴스를 초기화합니다.
ISheet sheet = workbook.CreateSheet("Sheet1"); NPOI를 사용하여 통합 문서에 "Sheet1"이라는 새 시트를 만듭니다.
IRow row = sheet.CreateRow(0); NPOI를 사용하여 시트의 인덱스 0에 새 행을 만듭니다.
row.CreateCell(0).SetCellValue("Hello"); NPOI를 사용하여 0행, 0열의 셀 값을 "Hello"로 설정합니다.

C#에서 Excel 파일 생성 이해

위에 제공된 스크립트는 두 가지 널리 사용되는 라이브러리인 EPPlus 및 NPOI를 활용하여 Microsoft Office를 설치하지 않고 C#에서 Excel 파일(.XLS 및 .XLSX)을 만드는 방법을 보여줍니다. 첫 번째 스크립트는 EPPlus 라이브러리를 활용합니다. 다음 명령을 사용하여 EPPlus의 라이센스 컨텍스트를 비상업적 사용으로 설정하는 것으로 시작됩니다. ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. 이를 통해 EPPlus 라이센스 조건을 준수할 수 있습니다. 다음으로 다음을 사용하여 새 Excel 패키지 인스턴스를 만듭니다. using (var package = new ExcelPackage()), 다음을 사용하여 "Sheet1"이라는 새 워크시트를 추가합니다. var worksheet = package.Workbook.Worksheets.Add("Sheet1");. 데이터는 값을 직접 설정하여 셀에 추가됩니다. 예를 들면 다음과 같습니다. 첫 번째 행의 첫 번째 셀에 "Hello" 값을 할당합니다. 그런 다음 파일은 다음을 사용하여 디스크에 저장됩니다. package.SaveAs(new FileInfo("example.xlsx"));, Excel 파일 생성 프로세스를 완료합니다.

두 번째 스크립트는 NPOI 라이브러리를 활용하여 Excel 파일을 생성합니다. .XLSX 파일을 생성하기 위해 새 통합 문서 인스턴스를 초기화하는 것으로 시작됩니다. IWorkbook workbook = new XSSFWorkbook();. 다음을 사용하여 통합 문서 내에 "Sheet1"이라는 새 시트가 생성됩니다. ISheet sheet = workbook.CreateSheet("Sheet1");. 호출을 통해 행과 셀이 생성되고 데이터로 채워집니다. IRow row = sheet.CreateRow(0); 그리고 row.CreateCell(0).SetCellValue("Hello");, 각각. 그런 다음 생성된 통합 문서는 파일 스트림에 기록되고 다음을 사용하여 디스크에 저장됩니다. FileStream 에 싸여 using 적절한 자원 관리를 위한 선언문입니다. 마지막으로, Console.WriteLine("Excel file created successfully!"); 콘솔에 성공 메시지를 출력합니다. 이 스크립트는 Microsoft Office를 설치하지 않고도 C#에서 Excel 파일을 생성하는 데 이러한 라이브러리가 얼마나 강력하고 다양한 기능을 제공하는지 보여줍니다.

C#에서 EPPlus를 사용하여 Excel 파일 생성

이 스크립트는 C#에서 EPPlus 라이브러리를 사용하여 Excel 파일을 만드는 방법을 보여줍니다.

using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells[1, 1].Value = "Hello";
                worksheet.Cells[1, 2].Value = "World";
                var file = new FileInfo("example.xlsx");
                package.SaveAs(file);
                Console.WriteLine("Excel file created successfully!");
            }
        }
    }
}

C#에서 NPOI를 사용하여 Excel 파일 만들기

이 스크립트는 NPOI 라이브러리를 사용하여 C#에서 Excel 파일을 만드는 방법을 보여줍니다.

using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            IRow row = sheet.CreateRow(0);
            row.CreateCell(0).SetCellValue("Hello");
            row.CreateCell(1).SetCellValue("World");
            using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
            {
                workbook.Write(file);
            }
            Console.WriteLine("Excel file created successfully!");
        }
    }
}

C#에서 ClosedXML을 사용하여 Excel 파일 만들기

Microsoft Office 없이 C#에서 Excel 파일을 생성할 수 있는 또 다른 훌륭한 라이브러리는 ClosedXML입니다. ClosedXML은 Excel 2007+(.XLSX) 파일을 읽고, 조작하고, 쓰기 위한 .NET 라이브러리입니다. 직관적이고 사용하기 쉬워 개발자들 사이에서 인기가 높습니다. ClosedXML을 사용하면 셀 서식 지정, 수식 추가, 테이블 만들기 등 다양한 기능을 갖춘 Excel 파일을 만들 수 있습니다. ClosedXML 사용을 시작하려면 NuGet을 통해 설치해야 합니다. 설정 후 코드 몇 줄만으로 새로운 Excel 통합 문서를 만들 수 있습니다. 예를 들어, 새 통합 문서를 시작하고 다음을 사용하여 "Sheet1"이라는 워크시트를 추가합니다. var workbook = new XLWorkbook(); 그리고 var worksheet = workbook.Worksheets.Add("Sheet1"); 명령.

다음과 같은 명령을 사용하여 셀에 데이터를 추가할 수 있습니다. worksheet.Cell(1, 1).Value = "Hello";, 간단하고 읽기 쉬운 명령을 사용하여 셀 서식을 지정하고, 테두리를 추가하고, 글꼴 스타일을 설정할 수 있습니다. 데이터가 설정되면 다음을 사용하여 통합 문서를 파일에 저장합니다. workbook.SaveAs("example.xlsx");. ClosedXML은 피벗 테이블, 조건부 서식, 차트를 비롯한 광범위한 기능을 지원하므로 복잡한 Excel 문서를 프로그래밍 방식으로 생성하기 위한 강력한 도구입니다. 이러한 유연성을 통해 개발자는 Microsoft Office 설치에 의존하지 않고도 특정 요구 사항에 맞는 Excel 파일을 생성할 수 있으므로 응용 프로그램 배포 및 배포가 단순화됩니다.

C#에서 Excel 파일 만들기에 대해 자주 묻는 질문

  1. 내 프로젝트에 EPPlus를 어떻게 설치하나요?
  2. 다음 명령으로 NuGet 패키지 관리자를 사용하여 EPPlus를 설치할 수 있습니다. Install-Package EPPlus.
  3. EPPlus와 NPOI의 차이점은 무엇입니까?
  4. EPPlus는 사용하기 쉽고 .XLSX 파일만 지원하는 것으로 알려져 있지만 NPOI는 .XLS 및 .XLSX 형식을 모두 지원하지만 학습 곡선이 더 가파르습니다.
  5. ClosedXML이 대용량 Excel 파일을 효율적으로 처리할 수 있습니까?
  6. 예, ClosedXML은 대용량 Excel 파일을 처리할 수 있지만 성능은 수행되는 데이터 및 작업의 복잡성에 따라 달라질 수 있습니다.
  7. ClosedXML을 사용하여 Excel 파일에 차트를 만들 수 있습니까?
  8. 예, ClosedXML은 Excel 파일 내에서 다양한 유형의 차트 생성을 지원합니다.
  9. ClosedXML을 사용하여 셀 서식을 어떻게 지정합니까?
  10. 다음과 같은 명령을 사용하여 셀 서식을 지정할 수 있습니다. worksheet.Cell(1, 1).Style.Font.Bold = true; 글꼴을 굵게 설정합니다.
  11. EPPlus를 사용하여 셀에 수식을 추가할 수 있나요?
  12. 예, 다음과 같은 명령을 사용하여 EPPlus의 셀에 수식을 추가할 수 있습니다. worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. NPOI는 어떤 파일 형식을 지원합니까?
  14. NPOI는 .XLS 및 .XLSX 파일 형식을 모두 지원합니다.
  15. EPPlus를 사용하여 Excel 파일을 어떻게 저장합니까?
  16. 명령을 사용하여 Excel 파일을 저장할 수 있습니다 package.SaveAs(new FileInfo("example.xlsx"));.
  17. ClosedXML은 무료로 사용할 수 있나요?
  18. 예, ClosedXML은 무료로 사용할 수 있으며 MIT 라이선스에 따라 라이선스가 부여됩니다.

C#에서 Excel 파일 만들기에 대한 최종 생각

Microsoft Office를 설치하지 않고도 C#에서 Excel 파일을 만드는 것은 개발자에게 매우 실용적인 접근 방식입니다. EPPlus, NPOIClosedXML과 같은 라이브러리를 사용하면 다양한 기능과 사용자 정의 옵션을 제공하는 Excel 스프레드시트를 쉽게 생성할 수 있습니다. 이러한 솔루션은 개발 프로세스를 단순화할 뿐만 아니라 애플리케이션의 이식성을 높이고 다양한 환경에 쉽게 배포할 수 있도록 보장합니다.