푸터 콘텐츠로 바로가기
다른 구성 요소와 비교

IronXL 과 Syncfusion Excel 비교

개발자들에게 Excel을 프로그래밍 방식으로 조작하는 것은 어려울 수 있습니다. Microsoft Excel 파일을 편집하려고 할 때 여러 가지 문제가 발생합니다. 주요 문제는 사용자 인터페이스의 어려움과 문서의 부족으로 인해 Excel 파일을 처리하기 어렵지만, 다행히도 숙련된 프로그래머가 작성한 일부 Excel 라이브러리가 있습니다. 이 라이브러리들은 Microsoft Excel 파일 데이터를 편집하는 데 도움을 줍니다. 여기서 두 가지 Excel C# 라이브러리에 대해 논의할 것입니다:

  • IronXL: C# Excel 라이브러리
  • Syncfusion Excel 프레임워크

이제 이 라이브러리들의 비교를 시작하겠습니다.

IronXL: C# Excel 라이브러리

IronXLIron Software에서 개발한 C# 코드의 .NET Excel 라이브러리로, 프로그래밍 방식으로 Excel 문서를 조작하는 데 사용됩니다. IronXL은 .NET framework 위에 작성되어 있으며 Microsoft Excel을 필요로 하는 애플리케이션 개발 프로세스를 단순화합니다.

IronXL은 프로그래머에게 Excel 작업북으로부터/작업북에 데이터를 읽고 쓰기 위한 클래스, 메서드 및 속성을 제공하며, 작업북 객체를 조작하고, 외부 데이터 소스에 액세스하고, 데이터를 작업북에 로드할 수 있습니다.

IronXL의 기능을 살펴봅시다.

IronXL의 기능

IronXL은 다른 라이브러리와 차별화되는 다양한 기능을 제공합니다.

데이터 로드, 읽기 및 편집

IronXL을 사용하여 XLS, XLSX, XLST, XLSM, CSV, TSV 같은 스프레시트 문서에서 데이터를 로드, 읽기 및 편집할 수 있습니다. IronXL은 이러한 스프레시트 문서를 생성, 읽기 및 편집하기 위한 매우 간단하고 쉽게 기억할 수 있는 함수를 제공합니다. 문서에 대한 완전한 제어를 제공합니다.

차트 작성

IronXL은 맞춤형 차트로 스프레드시트를 작성할 수 있는 다양한 함수를 제공합니다. IronXL은 이에 대한 좋은 API 문서를 지원합니다.

저장 및 내보내기

IronXL은 여러 형식으로 문서를 저장하고 내보내기에 적합합니다. IronXL은 Excel 파일을 XLS, XLSX, XLST, XLSM, CSV, TSV 및 JSON 파일 형식으로 내보내거나 변환할 수 있는 기능을 제공합니다.

수식 작업

IronXL은 Excel 파일에서 수식 작업을 지원합니다. 필요에 따라 어떤 수식이든 만들고 원하는 셀에 적용할 수 있습니다. IronXL은 수식 작업을 돕기 위한 훌륭하고 간단한 함수를 제공합니다.

셀 데이터 포맷

Excel 사용자는 종종 Excel 셀에서 포맷팅을 사용해야 합니다. IronXL은 고급 조건부 포맷팅 기능을 지원합니다. IronXL은 간단하고 사용하기 쉬운 함수로 셀 데이터 포맷팅을 돕습니다. IronXL은 Microsoft Excel에서 지원하는 모든 포맷을 지원합니다. 다음 형식으로 데이터를 포맷할 수 있습니다:

  • 텍스트
  • 숫자
  • 수식
  • 날짜
  • 통화
  • 백분율
  • 과학적
  • 시간
  • 사용자 정의 포맷

셀 스타일링

셀 스타일링은 중요한 데이터를 구분하는 데 도움이 되는 Microsoft Excel의 중요한 기능입니다. 매우 유용하며 IronXL도 이 기능을 지원합니다. IronXL 함수를 사용하여 글꼴 스타일, 글꼴 크기, 배경 패턴, 테두리 및 정렬을 변경할 수 있습니다.

Syncfusion Excel

Syncfusion 라이브러리는 Microsoft Excel (XLS) 파일을 읽고 쓰고 조작하기 위한 API를 제공합니다. Syncfusion 라이브러리는 개발자가 Microsoft Excel (XLS) 파일을 읽고 쓰고 조작하는 애플리케이션을 만들기 위해 사용할 수 있는 C# 라이브러리입니다. 맞춤형 데이터 가져오기도 지원됩니다. C# 프로그래밍 언어를 지원하는 모든 운영 체제와 호환 가능합니다.

Syncfusion Excel의 기능

Syncfusion Excel 라이브러리의 기능을 살펴보겠습니다:

이 라이브러리가 어떻게 작동하는지 살펴봅시다. 다양한 기능을 확인하려면 먼저 C# 프로젝트를 만들어야 합니다. 그럼 시작해봅시다.

1. C# 프로젝트 생성

이 튜토리얼에서는 Visual Studio 2019 버전(최신 버전 권장)과 C# 프로그래밍 언어를 사용하여 프로젝트를 구축할 것입니다.

  • Visual Studio 2019를 엽니다.
  • 새 프로젝트를 만들기 위해 'Create'를 클릭합니다.
  • 템플릿에서 C# 콘솔 응용 프로그램을 선택하고 Next 버튼을 클릭합니다.

    콘솔 애플리케이션 콘솔 응용 프로그램

  • 프로젝트에 이름을 지정하고 Next 버튼을 클릭합니다.

    프로젝트 구성 프로젝트 구성

  • 모든 장치에서 작동하고 지원되는 3.1 이상 .NET 대상 프레임워크를 선택합니다. .NET Framework의 최신 및 가장 안정적인 버전은 5.0입니다. Create 버튼을 클릭합니다. C# 콘솔 응용 프로그램이 생성됩니다.

    .NET 타겟 프레임워크 .NET 대상 프레임워크

기존 C# 프로젝트를 사용할 수도 있습니다. 프로젝트를 열고 라이브러리를 설치하기만 하면 됩니다. 다음 섹션에서 Excel 라이브러리를 설치하는 방법을 살펴보겠습니다.

2. IronXL 라이브러리 설치

IronXL 라이브러리를 다운로드하고 설치하는 여러 방법이 있습니다. 다음과 같습니다:

  1. 패키지 관리자 콘솔
  2. NuGet 패키지 관리자 사용

2.1 패키지 관리자 콘솔

패키지 관리자 콘솔을 사용하여 IronXL 라이브러리를 설치할 수 있습니다. 다음 단계를 따라 설치하십시오:

  • 패키지 관리자 콘솔을 엽니다. 일반적으로 Visual Studio 하단에 위치해 있습니다.

    패키지 관리자 콘솔 패키지 관리자 콘솔

  • 다음 명령어를 입력하고 Enter를 누릅니다.

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • IronXL 라이브러리 설치가 시작됩니다.

    IronXL 설치 IronXL 설치

  • 설치 후 프로젝트에서 사용할 수 있습니다.

2.2 NuGet 패키지 관리자를 사용하여 설치

NuGet 패키지 관리자에서 직접 IronXL 라이브러리를 설치할 수 있습니다. IronXL을 설치하려면 다음 단계를 따르십시오:

  • 메뉴 바에서 'Tools'를 클릭하고 'NuGet Package Manager'에 마우스를 가져다 댑니다.

    NuGet 패키지 관리자 NuGet 패키지 관리자

  • 'Manage NuGet Packages for Solution'을 선택합니다. 브라우즈를 클릭하고 검색창에 IronXL을 입력합니다. 검색 결과에 IronXL 라이브러리가 나타납니다.

    NuGet 패키지 관리 NuGet 패키지 관리

  • IronXl.Excel을(를) 클릭하고 설치 버튼을 클릭하세요. 라이브러리가 자동으로 설치됩니다.

3. Syncfusion Excel 라이브러리 설치

패키지 관리자 콘솔을 사용하여 Syncfusion Excel 라이브러리를 설치할 수 있습니다. IronXL과 달리, 각 프로젝트 유형(예: Windows Forms, WPF, ASP.NET, UWP 등)에 대해 라이브러리를 다르게 설치해야 합니다. 우리는 다른 플랫폼에 대해 다른 명령을 작성해야 합니다.

3.1 패키지 관리자 콘솔을 사용한 설치

다음 단계를 따라 Syncfusion Excel 라이브러리를 설치하세요:

  • 패키지 관리자 콘솔로 이동하세요.
  • Syncfusion Excel 라이브러리를 설치하기 위해 다음 명령어를 입력하세요:

    Install-Package Syncfusion.XlsIO.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • WPF 프로젝트 작업 시 다음 명령어를 입력하세요:

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • 라이브러리 설치가 시작됩니다. 설치 후, 프로젝트에서 Syncfusion Excel 프레임워크를 쉽게 사용할 수 있습니다.

4. Excel 문서 읽기

Excel 문서 읽기는 모든 Excel 라이브러리의 주요 기능입니다. IronXL 및 Syncfusion Excel 프레임워크를 사용하여 Excel 파일을 읽는 방법을 살펴보겠습니다.

4.1 IronXL

IronXL은 Microsoft.Office.Interop.Excel 없이 Excel 문서를 읽을 수 있게 해줍니다. IronXL을 시작하기 전에 중요한 단계가 있습니다 -- 항상 프로그램 파일에 IronXL을 가져와야 합니다. 따라서 상단에 다음 코드를 작성해야 합니다:

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
$vbLabelText   $csharpLabel

다음으로, 코어 프로그래밍 지식 없이도 여러 줄의 코드를 작성하는 번거로움 없이 Excel 파일을 읽고 편집하기 위한 다음 코드 줄을 작성하세요.

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
$vbLabelText   $csharpLabel

WorkBook.Load 함수는 쉽게 워크북을 로드하는 데 도움을 줍니다. 주어진 코드에서 우리는 셀의 값도 보고 이를 콘솔에 출력합니다.

4.2 Syncfusion Excel

Syncfusion Excel 프레임워크를 사용하여 기존 Excel 파일을 읽고 편집하는 방법을 살펴보겠습니다. 먼저 Syncfusion Excel 프레임워크를 사용하기 위해 우리는 프로젝트에 Syncfusion을 가져와야 합니다. 이를 위해서 다음 코드를 코드 파일의 상단에 추가해야 합니다:

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
$vbLabelText   $csharpLabel

다음으로, 프로젝트 내에 다음 코드 줄을 추가하여 Syncfusion Excel 프레임워크를 사용하여 Excel 파일을 읽고 접근합니다.

// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
$vbLabelText   $csharpLabel

Syncfusion Excel에서 Excel 파일을 읽기 위해서는 먼저 Excel 버전을 정의해야 합니다. 그런 다음 파일을 열고 편집할 수 있습니다. 수정된 파일을 저장하기 위해서는 Excel 버전에 따라 파일의 콘텐츠 유형을 다시 정의해야 합니다. IronXL은 Excel 버전을 정의할 필요가 없고, IronXL에서 함수와 매개변수가 간단하고 기억하기 쉬워서 이해하고 사용하기 쉽습니다.

5. 새 Excel 문서 생성

다음으로, 새 Excel 문서를 생성하고 생성된 문서에 값을 채우는 방법을 비교해 보겠습니다. 먼저, IronXL에서 문서를 생성하는 방법을 살펴보겠습니다.

5.1 IronXL

IronXL은 서버에 Excel이 설치되거나 Interop이 필요하지 않습니다. IronXL은 Microsoft.Office.Interop.Excel보다 빠르고 직관적인 API를 제공합니다. 앞서 언급했듯이, 우리는 먼저 IronXL 라이브러리를 가져와야 하고, 그런 다음 Excel 파일을 생성하기 위한 코드를 작성해야 합니다. 다음 코드는 IronXL에서 Excel 파일을 생성하는 데 사용됩니다.

using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
$vbLabelText   $csharpLabel

산출:

IronXL 출력 IronXL 출력

Excel 파일의 메타데이터를 설정할 수 있습니다. 간단하고 사용하기 쉬운 함수로 셀의 값을 설정하고 셀을 형식화하는 것이 매우 쉽습니다. 셀의 하단 테두리 색상을 설정하기 위해 Style.BottomBorder.SetColor 함수를 사용합니다.

5.2 Syncfusion Excel

다음 코드는 새 Excel 파일을 생성하고 Syncfusion Excel로 저장하는 방법을 보여줍니다. 다음 코드를 추가하고 필요한 네임스페이스를 포함하십시오:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
$vbLabelText   $csharpLabel

이제 다음 코드를 추가하세요:

// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
$vbLabelText   $csharpLabel

위 코드는 새로운 IWorkbook 객체를 생성하고, Workbooks.Create() 함수를 사용하여 워크북 내에 워크시트를 생성합니다. 엑셀 워크시트의 셀에 'cells' 속성을 통해 접근한 후, SaveAs() 함수를 사용하여 파일을 저장합니다.

6. Excel 파일 내보내기

다음으로, 어떻게 Excel 파일을 다른 데이터 형식으로 내보낼 수 있는지 살펴보겠습니다. 이는 때때로 다른 종류의 처리를 위해 다른 형식으로 데이터가 필요하기 때문에 Excel 라이브러리에서 중요한 기능입니다 -- 그렇기 때문에 어떤 라이브러리가 간단하고 쉬운 솔루션을 제공하는지 확인할 것입니다.

6.1 IronXL

IronXL을 사용하여, 우리는 한 줄의 코드만으로 Excel 파일을 변환할 수 있습니다. IronXL은 Excel 데이터를 CSV, JSON, XML, XLSX, XLS 등으로 내보낼 수 있습니다.

다음 코드는 IronXL을 사용하여 Excel 파일을 다른 형식으로 변환하는 데 도움을 줍니다.

// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
$vbLabelText   $csharpLabel

위의 코드에서 보면 우리는 한 줄의 코드만으로 매우 쉽게 Excel 파일을 내보낼 수 있습니다. 하지만, 우선 엑셀 파일을 열거나 생성해야 하고, 앞에서 IronXL을 사용하여 엑셀 파일을 열고 생성하는 방법을 이미 보았습니다.

6.2 Syncfusion Excel

Syncfusion Excel 프레임워크는 엑셀 파일을 PDF 및 JSON 형식으로 변환할 수 있습니다. 우리는 추가 라이브러리를 설치하지 않고 엑셀 파일을 JSON 형식으로 변환할 수 있습니다. 열려 있는 엑셀 파일을 JSON 파일로 변환하는 방법에 대한 코드입니다.

// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
$vbLabelText   $csharpLabel

일반적인 엑셀 문서를 PDF 파일로 변환하려면 변환 지원을 제공할 추가 라이브러리를 설치해야 합니다. Excel-to-ODS는 다양한 응용 프로그램에서 사용할 수 있도록 엑셀 파일을 ODS 형식으로 저장합니다. 예를 들면 OpenOffice 및 Google Sheets에서 사용됩니다. Excel-to-HTML은 엑셀 통합 문서나 워크시트를 HTML 파일로 동적으로 렌더링합니다.

7. 엑셀 파일 보호

보호는 Microsoft Excel의 가장 중요한 기능입니다. 파일을 수정하고 열 수 있는 사람을 제어할 수 있습니다. 암호로 보호된 엑셀 파일은 중요한 데이터를 저장할 수 있기 때문에 중요합니다. 엑셀 라이브러리를 사용하여 엑셀 파일을 보호할 수 있는 방법을 살펴보겠습니다.

7.1 IronXL

IronXL을 사용하여 엑셀 파일을 한 줄의 코드로 보호할 수 있습니다. 다음 코드는 엑셀 파일을 열고 보호할 수 있는 방법을 보여줍니다.

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
$vbLabelText   $csharpLabel

ProtectSheet() 함수는 사용자가 Excel 파일을 암호화할 수 있게 합니다. 엑셀 파일을 로드한 후 UnprotectSheet() 함수를 사용하여 시트를 보호 해제할 수 있습니다. 이 함수는 비밀번호를 몰라도 모든 비밀번호를 제거합니다.

7.2 Syncfusion Excel

Syncfusion Excel 프레임워크를 사용하여 엑셀 파일을 보호할 수 있습니다. 다음 코드를 사용하여 엑셀 파일을 생성하고 보호할 수 있습니다.

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
$vbLabelText   $csharpLabel

엑셀 파일을 암호화하기 위해 Protect() 함수를 사용합니다. 시트만 보호하거나 엑셀 파일의 콘텐츠도 보호해야 하는 경우 함수에 세 가지 매개변수를 전달해야 합니다. 세 번째 매개변수는 설정할 비밀번호가 됩니다.

8. 라이선스

8.1 IronXL

IronXL은 개발을 위해 절대적으로 무료입니다. 모든 측면을 개발을 위해 시도해 볼 수 있습니다. 하지만, 무료 개발 버전에는 워터마크가 있습니다. 프로덕션에서도 무료로 사용해볼 수 있습니다. 무료 시험판을 결제 없이 프로덕션에 활성화할 수 있습니다. IronXL을 구매하기로 선택한 경우, 가격 계획은 다음과 같습니다:

라이트 에디션

단일 개발자이고 자신의 프로젝트에서 IronXL을 사용하고자 할 경우 Lite Edition을 선택할 수 있습니다. 이것이 당신에게 가장 좋은 옵션입니다.

IronXL Lite IronXL Lite

전문가용 에디션

전 세계에 여러 지사가 있는 회사라면 Professional Edition이 가장 좋습니다. 이 에디션은 한 번에 10개의 위치, 10명의 개발자 및 10개의 프로젝트를 지원합니다.

IronXL Professional IronXL Professional

무제한 에디션

이 가격 계획은 평생 동안 전체 개발자, 무제한 위치, 무제한 프로젝트를 하나의 지급으로 지원합니다. IronXL을 여러 프로젝트에서 사용하고자 할 경우 가장 좋은 옵션입니다.

IronXL Unlimited IronXL Unlimited

IronXL은 또한 로열티 분배를 지원하며, 제품 지원 및 업데이트를 제공합니다.

로열티 배포 로열티 배포

IronXL의 라이선스 페이지는 가격 및 사용 권한에 대한 더 많은 정보를 제공합니다.

8.2 Syncfusion Excel Library

Syncfusion Excel 라이브러리도 무료 시험판을 제공합니다. $395 비용으로 최대 5명의 개발자 팀을 위해 Syncfusion Excel을 구매할 수 있습니다. Syncfusion은 10명 이상의 개발자 팀을 위한 추가 라이선스와, 단일 프로젝트 또는 전체 회사 사용을 위한 특별 무제한 라이선스를 제공합니다.

Syncfusion Syncfusion

9. 결론

두 라이브러리는 효과적인 기능을 제공합니다. 그러나, 더 큰 그림을 보면, IronXL은 더 편리하고 사용하기 쉽습니다. 작고 기억하기 쉬운 기능을 가지고 있습니다. IronXL의 도움으로 단 한 줄의 코드로 많은 편집 및 서식을 할 수 있습니다. 코드의 흐름은 복잡하지만 초보자도 쉽게 이해할 수 있습니다. IronXL의 작동을 알 필요도, 이해할 필요도 없습니다. 다른 플랫폼을 위해 별도의 라이브러리를 설치할 필요가 없습니다. 한번 설치하면 모든 작업에 사용할 수 있습니다.

Syncfusion Excel은 위에서 본 바와 같이 많은 기능을 가지고 있습니다. Syncfusion Excel의 도움으로 많은 서식 및 변환을 수행할 수 있습니다. 새 Excel 문서를 만들고, 이미 존재하는 Excel 파일을 수정하며, 여러 서식을 하고, 암호화를 할 수 있습니다. 변환을 수행하려면 별도의 라이브러리를 설치해야 합니다.

IronXL은 다양한 요금제가 있습니다. 자신의 필요에 가장 적합한 요금제를 구매할 수 있습니다. 예를 들어, 혼자 개발자이고 상업적인 목적으로 IronXL이 필요한 경우, 단 한 명의 개발자와 한 개의 프로젝트에 대해 수백 달러를 내야 하는 Syncfusion보다 훨씬 적은 금액으로 한 번의 결제로 활성화할 수 있습니다. 따라서, IronXL은 훨씬 저렴하고 Syncfusion Excel 프레임워크보다 훨씬 나은 선택을 제공합니다.

결론적으로, IronXL은 Syncfusion Excel 프레임워크보다 더 나은 선택입니다. 위 문단에서 보셨듯이, IronXL은 간단한 기능으로 인해 사용하기 매우 쉽고, 단 한 줄의 코드로 많은 서식을 할 수 있습니다. 하지만, Syncfusion Excel 프레임워크에서는 이미 IronXL 백엔드에서 정의된 많은 항목을 정의하기 위해 여러 줄의 코드를 작성해야 하며, 사용자는 여러 매개 변수와 변수를 정의하는 데 시간을 소비할 필요가 없습니다. 또한, IronXL은 저렴하고 더 나은 라이선스 옵션을 제공합니다. 현재 Iron Software는 두 개의 가격으로 다섯 개의 소프트웨어 패키지를 구매할 수 있는 특별 할인 행사를 하고 있습니다. 즉, 할인된 가격에 Iron Software 패키지 다섯 개를 구매할 수 있습니다.

Syncfusion은 각 소유자의 등록 상표입니다.] 이 사이트는 Syncfusion과 관련이 없으며, Syncfusion에 의해 인정받거나 후원받지 않았습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.

자주 묻는 질문

IronXL 사용하여 Excel 파일을 조작할 때의 주요 장점은 무엇입니까?

IronXL 개발자가 Excel 문서를 쉽게 읽고 쓰고 조작할 수 있도록 간소화되고 사용자 친화적인 API를 제공합니다. XLS, XLSX, CSV, JSON 등 다양한 파일 형식을 지원하며, Microsoft Excel을 설치하지 않고도 데이터 로딩, 차트 생성, 수식 처리, 셀 스타일 지정 등의 기능을 사용할 수 있습니다.

C#에서 Excel 파일을 다른 형식으로 변환하려면 어떻게 해야 하나요?

IronXL 사용하면 Excel 파일을 CSV, JSON, XML, XLSX, XLS 등 다양한 형식으로 내보낼 수 있습니다. 최소한의 코드로 구현 가능하므로 C# 애플리케이션에 쉽게 통합할 수 있습니다.

IronXL 사용하려면 Excel이 설치되어 있어야 하나요?

아니요, IronXL 서버나 워크스테이션에 Microsoft Excel이 설치되어 있을 필요가 없습니다. Excel 파일 조작 작업을 처리하기 위한 자체 API를 제공합니다.

IronXL 의 라이선스 정책은 Syncfusion Excel과 어떻게 다른가요?

IronXL 워터마크가 포함된 무료 개발 버전과 여러 유료 상업적 용도 버전을 제공하여 유연한 라이선스 모델을 제공합니다. 반면 Syncfusion Excel은 라이선스 구매가 필요하며, 가격은 개발자 수와 프로젝트 수에 따라 달라집니다.

IronXL Syncfusion Excel에 비해 초보자에게 더 나은 선택인 이유는 무엇일까요?

IronXL 간단하고 직관적인 API 덕분에 초보자에게 일반적으로 더 쉽습니다. 이 API를 사용하면 최소한의 코드로 복잡한 작업을 수행할 수 있습니다. Syncfusion Excel과 달리 IronXL 여러 매개변수를 정의할 필요가 없으므로 Excel 조작에 익숙하지 않은 개발자에게 더욱 접근성이 좋습니다.

IronXL Excel 파일 보호 및 보안을 처리할 수 있습니까?

네, IronXL 사용자가 암호 및 기타 보호 기능을 사용하여 문서를 보호할 수 있도록 함으로써 Excel 파일 보호를 관리할 수 있습니다. 이를 통해 Excel 파일을 공유할 때 데이터의 무결성과 기밀성을 보장할 수 있습니다.

개발자들이 Syncfusion Excel 대신 IronXL 사용해야 하는 이유는 무엇일까요?

개발자들은 IronXL Syncfusion Excel보다 간편하고 사용하기 쉬우며 비용 효율적이고 다양한 플랫폼용 추가 라이브러리가 필요 없는 강력한 기능을 제공한다는 점에서 더 나은 선택일 수 있습니다. IronXL Excel 파일 조작에 대한 직관적인 접근 방식을 제공하여 개발자에게 이상적인 선택입니다.

IronXL Excel 파일의 수식 처리를 지원합니까?

네, IronXL Excel 수식 작업을 지원하므로 Excel 파일 내의 수식을 읽고, 쓰고, 평가할 수 있어 복잡한 계산을 프로그래밍 방식으로 처리하는 포괄적인 솔루션을 제공합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me