이 기사에서는 MS Office를 설치하지 않고 C#에서 프로그래밍 방식으로 Excel XLS/XLSX 파일을 만드는 방법을 배웁니다.

C# API에서 Excel 파일 만들기

오늘날 스프레드시트는 데이터를 유지, 구성 및 분석하는 데 필수적인 부분이 되었습니다. MS Excel과 같은 스프레드시트는 계산 및 정렬, 그래프 또는 차트 생성, 예산 생성, 기타 여러 회계 또는 데이터 분석 작업을 수행할 수 있습니다. 요즘 자동화된 솔루션이 더 많이 사용되기 때문에 Excel 문서(XLS/XLSX)를 만들고 조작하는 추세가 등장하고 엄청난 속도로 성장하고 있습니다. 이 사용 사례는 Excel 자동화 솔루션의 필요성을 높였습니다.

위에서 언급한 시나리오에 따라 이 포괄적인 기사는 C# .NET 응용 프로그램에서 Excel 자동화를 위한 몇 가지 기본 기능을 보여 주는 것을 목표로 합니다.

Excel 파일을 만드는 C# API

Excel 문서 작업을 위해 XLS 및 XLSX 파일을 포함한 스프레드시트 문서를 생성, 읽기 및 조작하는 강력한 API인 Aspose.Cells for .NET을 사용합니다. 다음 방법 중 하나를 사용하여 API를 다운로드하거나 설치할 수 있습니다.

NuGet 패키지 관리자 사용

C# 엑셀 자동화 라이브러리

패키지 관리자 콘솔 사용

PM> Install-Package Aspose.Cells

C#에서 Excel XLS 또는 XLSX 만들기

Excel 파일은 데이터를 보관할 행과 열이 포함된 단일 또는 여러 워크시트로 구성된 통합 문서라고도 합니다. 따라서 통합 문서는 Excel 파일에서 워크시트의 컨테이너 역할을 합니다. 따라서 Excel 파일을 만들려면 먼저 통합 문서를 만든 다음 해당 통합 문서 내의 워크시트를 만듭니다. 다음은 .NET용 Aspose.Cells를 사용하여 Excel 파일을 만드는 단계입니다.

  • Workbook 클래스의 인스턴스를 만듭니다.
  • 통합 문서의 첫 번째 워크시트(기본적으로 생성됨)에 액세스합니다.
  • 워크시트의 원하는 셀에 액세스하고 해당 셀에 값을 입력합니다.
  • 통합 문서를 XLS 또는 XLSX 파일로 저장합니다.

다음 코드 샘플은 C#을 사용하여 Excel XLSX 파일을 만드는 방법을 보여줍니다.

// Excel 파일을 나타내는 통합 문서 개체를 인스턴스화합니다.
Workbook wb = new Workbook();

// 새 통합 문서를 만들면 기본 "Sheet1"이 통합 문서에 추가됩니다.
Worksheet sheet = wb.Worksheets[0];

// 시트의 "A1" 셀에 액세스합니다.
Cell cell = sheet.Cells["A1"];

// "Hello World!"를 입력하십시오. "A1" 셀에 텍스트를 입력합니다.
cell.PutValue("Hello World!");

// Excel을 .xlsx 파일로 저장합니다.
wb.Save("Excel.xlsx", SaveFormat.Xlsx);

산출

C#에서 Excel 파일 만들기

C#에서 Excel XLSX 파일에 데이터 쓰기

기존 Excel 파일에 데이터를 편집하여 쓰고 싶은 경우에도 유사한 방식으로 수행할 수 있습니다. Workbook 개체를 사용하여 원본 Excel 스프레드시트 문서를 로드하고 원하는 워크시트와 셀에 액세스하기만 하면 됩니다. 다음은 기존 Excel 파일을 편집하는 단계입니다.

  • FileStream 개체에서 Excel 파일을 엽니다.
  • Workbook의 인스턴스를 만들고 FileStream 객체로 초기화합니다.
  • WorksheetCell 클래스를 각각 사용하여 워크시트와 셀에 액세스합니다.
  • 통합 문서를 Excel .xlsx 파일로 저장합니다.

다음 코드 샘플은 C#에서 기존 Excel XLSX 파일을 편집하고 데이터를 쓰는 방법을 보여줍니다.

// Excel 파일을 나타내는 통합 문서 개체를 인스턴스화합니다.
Workbook wb = new Workbook("Excel.xlsx");

// 통합 문서에서 "Sheet1"에 액세스합니다.
Worksheet sheet = wb.Worksheets[0];

// 시트의 "A1" 셀에 액세스합니다.
Cell cell = sheet.Cells["A1"];

// "Hello World!"를 입력하십시오. "A1" 셀에 텍스트를 입력합니다.
cell.PutValue("The cell's value is updated.");

// Excel 파일을 .xlsx로 저장합니다.
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);

C#을 사용하여 Excel XLSX 파일에서 차트 또는 그래프 만들기

Excel 스프레드시트는 그래프와 차트를 사용하여 데이터를 시각적으로 분석하거나 표시하는 훌륭한 방법을 제공합니다. .NET용 Aspose.Cells는 각 클래스가 특정 작업을 수행하는 데 사용되는 Excel 스프레드시트에서 다양한 차트를 만들고 조작하기 위한 완전한 클래스 세트를 제공합니다.

Excel 파일로 차트를 생성하려면 다음 단계를 따라야 합니다.

  • 해당 셀에 액세스하여 워크시트에 일부 데이터(데이터 원본으로 사용할)를 추가합니다.
  • ChartType 열거형을 사용하여 차트 유형을 전달하여 Worksheet.Charts 컬렉션을 사용하여 워크시트에 새 차트 개체를 추가합니다.
  • Chart 개체의 컬렉션에서 새로 생성된 차트를 가져옵니다.
  • 차트 개체에 데이터 소스를 제공할 셀 범위를 지정합니다.
  • 통합 문서를 Excel .xlsx 파일로 저장합니다.

다음 코드 샘플은 C#에서 Excel XLSX 파일에 차트를 만드는 방법을 보여줍니다.

// Excel 파일을 나타내는 통합 문서 개체를 인스턴스화합니다.
Workbook wb = new Workbook();

// Excel 개체에 새 워크시트를 추가합니다.
int sheetIndex = wb.Worksheets.Add();

// 시트 인덱스를 전달하여 새로 추가된 워크시트의 참조를 얻습니다.
Worksheet worksheet = wb.Worksheets[sheetIndex];

// 셀에 더미 값을 추가합니다.
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// 워크시트에 차트를 추가합니다.
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);

// 새로 추가된 차트의 인스턴스에 액세스합니다.
Charts.Chart chart = worksheet.Charts[chartIndex];

// "A1" 셀에서 "B3" 범위의 차트에 SeriesCollection(차트 데이터 소스)을 추가합니다.
chart.NSeries.Add("A1:B3", true);

// 엑셀 파일을 저장합니다.
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);

산출

C#의 Excel에서 차트 만들기

C#을 사용하여 Excel 워크시트에서 차트를 만드는 방법에 대해 자세히 알아보기

C#에서 Excel XLSX 파일에 테이블 만들기

Excel 워크시트의 셀 범위에서 테이블을 만들고 테이블의 합계(합계, 개수 등)에 대한 행을 추가할 수도 있습니다. 다음은 .NET용 Aspose.Cells를 사용하여 Excel(XLSX) 파일에 테이블을 만드는 단계입니다.

  • Excel 통합 문서를 로드하거나 Workbook 클래스를 사용하여 새 통합 문서를 만듭니다.
  • 워크시트의 셀에 데이터를 추가합니다.
  • 워크시트에 새 ListObject를 추가합니다.
  • ListObject.ShowTotals 속성을 true로 설정합니다.
  • 합계를 계산하고 통합 문서를 Excel .xlsx 파일로 저장합니다.

다음 코드 샘플은 C#의 Excel 워크시트에 테이블을 만드는 방법을 보여줍니다.

// Excel 파일을 나타내는 통합 문서 개체를 인스턴스화합니다.
Workbook wb = new Workbook();

// 첫 번째 워크시트를 가져옵니다.
Worksheet sheet = wb.Worksheets[0];

// 워크시트의 셀 컬렉션 가져오기
Cells cells = sheet.Cells;

// 값을 셀에 설정
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");

cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James"); 

cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1); 

cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang"); 

cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe"); 


cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France"); 


cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500); 

// 워크시트에 새 목록 개체 추가
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];

// 테이블에 기본 스타일 추가
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;

// 합계 표시
listObject.ShowTotals = true;

// 분기 필드의 계산 유형 설정
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;

// 엑셀 파일을 저장합니다.
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);

산출

C#의 Excel 워크시트에 테이블 만들기

자세히 알아보기 C#을 사용한 Excel 워크시트의 표 작업에 대해.

결론

이 문서에서는 C#을 사용하여 Excel 파일을 처음부터 만드는 방법을 배웠습니다. 또한 시트에 데이터를 삽입하고, 차트를 생성하고, Excel 파일에 표를 삽입하는 방법을 살펴보았습니다. C#에서 Excel 파일을 조작하는 고급 기능을 배우려면 Aspose.Cells for .NET의 문서를 참조하십시오.

관련 기사