IRONSOFTWAREHOME
IRONXL 사용하여

C#에서 Excel 범위를 관리하는 방법

Curtis Chau
Curtis Chau
Updated: 2026년 4월 21일

프로그래밍 방식으로 Excel 파일을 다루면 C# 응용 프로그램의 효율성과 자동화 기능을 크게 향상시킬 수 있다. 보고서를 생성하든, 데이터를 처리하든, 복잡한 스프레드시트를 동적으로 만들든, Excel 파일 조작을 숙지하는 것이 중요하다. 이 튜토리얼에서는 IronXL을 사용하여 Excel 범위를 다루는 데 중점을 둘 것이다. 작성, 읽기, 그리고 Excel 파일 내의 범위를 조작하는 방법을 다룰 것이다.

How to Read Excel Ranges in C#

  1. Excel 파일을 처리할 IronXL 라이브러리를 설치한다.
  2. 워크북을 로드하고 워크시트를 지정한다.
  3. 읽을 셀 범위를 선택한다.
  4. 지정된 범위에서 데이터를 추출하고 읽는다.

IronXL이란 무엇인가요?

IronXL은 Excel 파일 작업을 단순화하는 C#용 종합 라이브러리로, 스프레드시트 데이터의 원활한 통합 및 조작을 위한 다양한 기능을 제공한다. 이 기능에는 Microsoft Excel 설치가 필요 없이 다양한 플랫폼 간 호환성을 가능하게 하는 Excel 파일의 읽기, 쓰기, 수정 등이 포함된다.

IronXL은 특정 , 범위 또는 전체 워크시트에서 데이터 추출을 용이하게 하며, 형식화, 스타일 지정, 조건부 형식화와 같은 고급 기능도 포함한다. 계산, 수식 및 통계 분석 지원을 통해 IronXL은 개발자가 프로그램 방식으로 Excel 작업을 효율적으로 처리할 수 있도록 하여 C# 응용 프로그램 내에서 데이터 중심 작업의 자동화를 위해 필수적인 도구로 만든다.

Getting Started with Excel Range of cells in C#

우선, 응용 프로그램에 IronXL 라이브러리를 설치해야 한다.

IronXL NuGet Install-Package

다음 명령어로 NuGet 패키지 관리자를 통해 IronXL을 설치할 수 있다:

PM > Install-Package IronXL.Excel

위 명령어는 IronXL과 그 모든 종속성을 설치할 것이다.

C#에서 Excel 범위를 관리하는 방법: 그림 1

네임스페이스 추가

Program.cs 클래스의 맨 위 또는 IronXL 메서드를 사용하려는 위치에 다음 네임스페이스를 추가한다.

using IronXL;

Excel 워크북 로드하기

가장 첫 번째 단계는 Excel 워크북을 로드하는 것이다. 다음 코드는 우리 응용 프로그램에 Excel 워크북을 로드할 것이다.

static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");
    
    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}

첫 번째 줄은 'test_excel.xlsx'라는 파일에서 기존의 Excel 워크북을 로드한다. 두 번째 줄은 로드된 워크북에서 'Sheet1'이라는 이름의 워크시트를 가져온다.

이 튜토리얼 전반에 걸쳐 다음 Excel 파일을 사용할 것이다.

C#에서 Excel 범위를 관리하는 방법: 그림 2

범위에서 데이터 읽기

이제 지정된 셀 범위에서 데이터를 읽어보자.

// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}

첫 번째 줄은 워크시트에서 주소 (A2에서 G10까지)의 특정 범위를 선택하여 여러 Excel 셀을 동시에 작업할 수 있게 한다. foreach (var item in range) 루프는 이 셀 범위 내의 각 셀을 반복하여 효율적인 데이터 처리를 가능하게 합니다.

Console.WriteLine(item);을 사용하여 코드는 각 셀의 값을 콘솔에 출력하여 범위의 내용을 쉽게 검토할 수 있습니다. 이 접근 방식은 데이터 처리을 단순화하고 코드 가독성을 향상시킨다.

범위 내에서 Excel 수식 사용하기

특정 범위를 선택하고 Excel 수식을 일부 구현해보자.

// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");

코드 var range = sheet["F2:F42"];는 F2에서 F42까지의 셀 범위를 선택하여 연령 데이터의 통계 분석을 용이하게 합니다. range.Min()range.Max()를 사용하여, 지정된 범위 내 최소 및 최대 연령 값을 효율적으로 계산하여 인구 통계 통찰력을 제공합니다.

또한, range.Avg()는 평균 연령을 계산하여 데이터 해석을 위한 유용한 통계적 측정치를 제공합니다. 이 접근 방식은 데이터 분석 작업을 단순화하여 정보에 입각한 의사 결정을 위한 필수 통계 정보에 빠르게 접근할 수 있도록 한다.

C#에서 Excel 범위를 관리하는 방법: 그림 3

단일 셀에서 데이터 읽기

단일 셀에서 데이터를 읽어보자.

// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");

코드 var read_from_single_cell = sheet["B2"];는 워크시트에서 B2 셀에 저장된 값을 가져옵니다. 이 접근 방식을 사용하여 Excel 파일 내 특정 셀 값을 쉽게 접근할 수 있다.

Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");을 사용하여, 코드는 참조 셀의 가져온 값을 콘솔에 출력하여 데이터 확인 및 디버깅을 용이하게 합니다. 이는 Excel 파일에서 개별 셀 값을 검색하고 표시하는 과정을 단순화한다.

C#에서 Excel 범위를 관리하는 방법: 그림 4

전체 열에서 데이터 읽기

인덱스를 사용하여 전체 열에서 데이터를 읽어봅시다.

// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}

코드 var columnValues = sheet.GetColumn(2);는 워크시트의 인덱스 2(C 열)에 위치한 열의 모든 값을 가져옵니다. 이렇게 하면 Excel 시트의 특정 열 내 모든 값에 효율적으로 액세스할 수 있습니다.

foreach 루프를 통해 columnValues를 반복하여, 열의 각 값이 Console.WriteLine(columnValue);을 사용하여 콘솔에 출력됩니다. 이 방법은 Excel 파일에서 열 데이터를 처리하고 표시하여 데이터 분석 작업을 간소화합니다.

C#에서 Excel 범위를 관리하는 방법: 그림 5

또한 인덱스 대신 열 이름을 사용하여 열에서 데이터를 읽을 수 있습니다. 다음 예를 생각해 보세요.

// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");

이 방식으로 여러 열을 지정할 수 있습니다.

전체 행에서 데이터 읽기

행 번호를 사용하여 전체 행에서 데이터를 읽어봅시다.

// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}

코드 var rowValues = sheet.GetRow(1);는 워크시트의 인덱스 1(2행)에 위치한 단일 행의 모든 값을 가져와 행별 데이터에 효율적으로 접근합니다. foreach 루프를 통해 rowValues를 반복하여, 행의 각 값이 Console.Write(rowValue + " ");을 사용하여 콘솔에 출력됩니다.

이 방법은 Excel 파일에서 행 데이터를 추출하고 표시하는 과정을 단순화하여 데이터 분석 및 보고 작업을 지원합니다. 이런 방식으로 범위 지정 없이 여러 셀에서 값을 읽을 수 있습니다.

C#에서 Excel 범위를 관리하는 방법: 그림 6

셀 또는 범위에 데이터 쓰기

셀과 범위 둘 다에 데이터를 쓸 수 있습니다. 먼저 범위에 데이터를 씁니다.

// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();

코드 var range = sheet["D2:D14"];는 D2에서 D14까지의 범위를 선택하여 대량 데이터 수정을 가능하게 합니다. range.Value을 "Prefer Not to Say"로 설정하여, 지정된 범위 내 각 셀의 성별 값을 효율적으로 업데이트하여 반복 작업을 최소화합니다.

이후 workbook.Save(); 명령은 이러한 변경 사항의 지속적인 저장을 보장하여 데이터의 일관성과 무결성을 유지합니다. 이 방법은 대량 업데이트를 간소화하고 여러 셀 간의 균일성을 보장하여 데이터 관리 효율성을 향상시킵니다.

이제 특정 셀에 데이터를 씁니다.

// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();

코드 sheet["B2"].Value = "John";는 Excel 워크시트의 B2 셀에 "John"이라는 값을 직접 할당하여 특정 셀 값을 업데이트하는 간결하고 명확한 방법을 제공합니다. 이 방법은 개별 셀 내용을 수정하는 과정을 간소화하여 코드 가독성과 효율성을 향상시킵니다.

C#에서 Excel 범위를 관리하는 방법: 그림 7 - C# Excel 범위

결론

결론적으로, C#에서 IronXL을 사용한 Excel 범위 작업을 숙달하면 데이터 처리, 보고서 생성 및 동적 스프레드시트 작성과 같은 작업을 용이하게 하여 애플리케이션의 효율성과 자동화 기능을 크게 향상시킵니다.

IronXL의 강력한 Excel 파일 읽기, 쓰기 및 조작 기능을 통해 개발자는 데이터 처리 과정을 간소화하고 수식, 서식 및 통계 분석과 같은 고급 기능을 활용할 수 있습니다. 또한, IronXL은 다양한 프로젝트 요구 사항에 대한 유연성과 확장성을 보장하는 무료 체험판도 제공합니다.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

관련 기사

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.