푸터 콘텐츠로 바로가기
IRONXL 사용하여

C#에서 엑셀 파일을 가져오는 방법

IronXL을 사용하여 C#에서 Excel 파일을 가져오세요, Microsoft Excel을 설치하지 않고도 XLS, XLSX, CSV 파일을 읽는 .NET 라이브러리입니다. 파일을 열고 WorkBook.Load("file.xlsx")를 사용하여 sheet["A1"]와 같은 직관적인 구문으로 셀 데이터를 액세스하십시오.

Microsoft Excel은 데이터 조직, 표시 및 분석에 도움이 되는 다용도의 스프레드시트 소프트웨어입니다. 그러나 C#에서 프로그래밍으로 Excel을 다루는 것은 특히 다른 스프레드시트 파일 형식을 다루거나 배포 서버에 Microsoft Office가 설치되어 있지 않을 때에는 어려울 수 있습니다. IronXL 소프트웨어 라이브러리는 C# 애플리케이션에서 Excel 파일을 가져와 읽는 완전한 솔루션을 제공합니다. 다양한 형식을 지원하며, XLSX, XLS 및 CSV 파일을 읽습니다.

IronXL이란 무엇이며 왜 Excel 가져오기에 사용해야 하나요?

IronXL은 사용의 용이성, 정확성, 속도를 우선시하는 .NET Excel 라이브러리입니다. Excel 문서를 가져오고 읽는 것을 도와주며, 번개 같은 속도로 Excel 파일을 생성하고 편집합니다. Microsoft Office Interop을 요구하는 전통적인 접근 방식과 달리, IronXL은 MS Office Interop 의존 없이 독립적으로 작동합니다. 이는 Excel이 설치되지 않은 상태에서도 Excel 파일을 읽는 모든 기능을 제공한다는 것을 의미합니다. 이는 IronXL이 C# 애플리케이션에서 Excel 파일을 가져오고 읽는 데 강력한 도구가 되며, ASP.NET 웹 애플리케이션, 데스크톱 애플리케이션, 또는 클라우드 기반 솔루션 중 어떤 것이든 빌드하는 경우에 해당됩니다.

IronXL은 Windows, Linux, macOS, Docker, AzureAWS 등의 모든 플랫폼에서 사용할 수 있습니다. 모든 .NET Framework 버전과 호환되며 최신 .NET Core 및 .NET 5+ 환경을 지원합니다. IronXL은 콘솔, 데스크탑 및 웹 ASP.NET 애플리케이션뿐만 아니라 Blazor 애플리케이션에 통합할 수 있는 다재다능한 라이브러리입니다. XLS 및 XLSX 파일, XSLT 및 XLSM, CSV 및 TSV와 같은 다양한 워크북 형식을 지원하여 스프레드시트 파일 형식 간에 변환해야 하는 상황에 이상적입니다.

IronXL이 Excel 가져오기에 필수적인 주요 기능은 무엇입니까?

C#에서 Excel 워크북을 가져오는 방법은 무엇입니까?

Excel 가져오기를 시작하기 전에 무엇이 필요합니까?

C#에서 IronXL을 사용하여 Excel 파일을 읽으려면 컴퓨터에 다음 구성 요소가 설치되어 있는지 확인하십시오:

  1. Visual Studio - C# .NET 애플리케이션 개발을 위한 공식 IDE입니다. Visual Studio는 엑셀 파일 작업을 쉽게 만들어주는 뛰어난 IntelliSense 지원 및 디버깅 도구를 제공합니다. Microsoft 웹사이트에서 Visual Studio를 다운로드하여 설치할 수 있습니다. 커뮤니티 에디션은 대부분의 개발 요구사항에 무료로 충분합니다.

  2. IronXL - C#에서 주어진 경로의 Excel 시트와 작업하는 데 도움이 되는 라이브러리입니다. 사용하기 전에 C# 프로그램에 설치해야 합니다. NuGet 웹사이트에서 쉽게 다운로드하거나 Visual Studio 도구의 NuGet 패키지 관리 인터페이스를 통해 직접 설치할 수 있습니다. 수동 설치를 선호하는 경우 .NET Excel DLL 파일을 직접 다운로드할 수도 있습니다.

프로덕션 배포를 위해서는 워터마크를 제거하고 완전한 기능을 사용할 수 있도록 라이선스 키를 적용해야 합니다. 개발 및 테스트는 체험판 버전으로 가능하다.

내 코드에 어떤 네임스페이스를 추가해야 합니까?

Visual Studio 및 IronXL을 설치한 후 소스 코드에서 IronXL을 사용하려면 IronXL 어셈블리를 참조하십시오. IronXL 함수가 사용될 새 프로젝트의 파일 상단에 다음 코드 줄을 추가하십시오:

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

이 단일 네임스페이스 가져오기만으로 Excel 작업에 필요한 모든 핵심 기능에 액세스할 수 있습니다. 차트나 조건부 서식과 같은 특정 Excel 기능을 사용하고 있는 경우 IronXL 라이브러리에서 추가 네임스페이스를 가져와야 할 수도 있습니다.

Excel 파일을 어떻게 불러오고 열까요?

Microsoft Excel 스프레드시트는 Excel 워크북이라고도 합니다. 각 워크북에는 여러 워크시트(시트라고도 함)가 포함되어 있으며, 단일 워크시트는 해당 값과 함께 행과 열로 구성된 표 형식의 셀을 포함합니다. 엑셀 파일을 열고 읽으려면 IronXL 라이브러리에 있는 WorkBook 클래스와 Load 메서드를 사용하여 로드하십시오. 코드는 다음과 같습니다.

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");

// You can also load from a stream
using (var stream = File.OpenRead("test.xlsx"))
{
    WorkBook streamWorkbook = WorkBook.Load(stream);
}

// Or load CSV files with custom delimiters
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");

// You can also load from a stream
using (var stream = File.OpenRead("test.xlsx"))
{
    WorkBook streamWorkbook = WorkBook.Load(stream);
}

// Or load CSV files with custom delimiters
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
$vbLabelText   $csharpLabel

이 작업은 엑셀 파일을 워크북 인스턴스 참조 변수에 엽니다. 워크북에는 여러 워크시트가 있을 수 있으므로 다양한 방법으로 액세스할 수 있습니다. 다음 코드는 시트 인스턴스 변수에서 첫 번째 워크시트를 엽니다:

// Get the first worksheet
WorkSheet sheet = workbook.WorkSheets.First();

// Or access by worksheet name
WorkSheet namedSheet = workbook.GetWorkSheet("Sheet1");

// Or by index (zero-based)
WorkSheet indexedSheet = workbook.WorkSheets[0];
// Get the first worksheet
WorkSheet sheet = workbook.WorkSheets.First();

// Or access by worksheet name
WorkSheet namedSheet = workbook.GetWorkSheet("Sheet1");

// Or by index (zero-based)
WorkSheet indexedSheet = workbook.WorkSheets[0];
$vbLabelText   $csharpLabel

이는 Excel 파일의 첫 번째 시트를 열어 이제 이 시트에서 Excel 데이터를 읽고 쓸 수 있게 됩니다. 더 고급 시나리오의 경우 여러 워크시트를 관리하거나 새 스프레드시트 생성해야 할 수도 있습니다.

열린 Excel 파일

이름, 직책, 급여 열이 있는 직원 데이터 스프레드시트로, 다양한 직책과 급여를 가진 5명의 직원 기록이 포함됨 C#을 사용하여 가져올 직원 정보가 포함된 샘플 Excel 파일입니다. 데이터에는 이름, 직책(매니저, 디렉터, 직원, 사장) 및 해당 급여 값이 포함되어 있습니다.

가져온 후 특정 셀 값을 어떻게 읽을 수 있나요?

Excel 파일이 가져오진 후 되면 데이터를 읽을 준비가 완료됩니다. C#에서 IronXL을 사용하여 Excel 파일 데이터를 읽는 것은 매우 간단하고 쉽습니다. 표준 Excel 표기법(예: 'A1', 'B2' 등)으로 셀 참조 번호를 언급하여 Excel 셀 값을 읽을 수 있습니다. 라이브러리는 예상 데이터 유형에 따라 셀 값을 액세스할 수 있는 여러 방법을 제공합니다.

다음 코드는 참조 번호 'C2'의 셀 값을 가져옵니다:

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);

// You can also access different data types
string textValue = sheet["A2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
double doubleValue = sheet["C2"].DoubleValue;
DateTime dateValue = sheet["D2"].DateTimeValue;
bool boolValue = sheet["E2"].BoolValue;

// Check if cell is empty
bool isEmpty = sheet["F2"].IsEmpty;
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);

// You can also access different data types
string textValue = sheet["A2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
double doubleValue = sheet["C2"].DoubleValue;
DateTime dateValue = sheet["D2"].DateTimeValue;
bool boolValue = sheet["E2"].BoolValue;

// Check if cell is empty
bool isEmpty = sheet["F2"].IsEmpty;
$vbLabelText   $csharpLabel

출력 결과는 다음과 같습니다.

엑셀 파일 읽기 작업의 출력을 보여주는 Microsoft Visual Studio 디버그 콘솔 창, 파일 경로와 완료 메시지를 표시 C#에서 Excel 파일을 성공적으로 읽은 후의 디버그 콘솔 출력입니다. 프로그램이 실행을 완료하고 사용자의 입력을 기다리고 있습니다.

이제 열린 Excel 파일에서 특정 셀 범위의 데이터를 읽어보겠습니다. IronXL은 친숙한 Excel 표기법을 사용하여 셀 범위 작업을 쉽게 만듭니다. 코드는 다음과 같습니다.

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

// You can also work with entire rows or columns
var row = sheet.GetRow(2); // Get row 3 (0-indexed)
foreach (var cell in row)
{
    Console.WriteLine($"Row cell value: {cell.Value}");
}

// Or get a column
var column = sheet.GetColumn(0); // Get column A
foreach (var cell in column)
{
    Console.WriteLine($"Column A value: {cell.Value}");
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

// You can also work with entire rows or columns
var row = sheet.GetRow(2); // Get row 3 (0-indexed)
foreach (var cell in row)
{
    Console.WriteLine($"Row cell value: {cell.Value}");
}

// Or get a column
var column = sheet.GetColumn(0); // Get column A
foreach (var cell in column)
{
    Console.WriteLine($"Column A value: {cell.Value}");
}
$vbLabelText   $csharpLabel

코드는 매우 간단하고, 깔끔하며 명확합니다. 셀 범위는 foreach 루프에서처럼 간단한 구문으로 참조할 수 있습니다: sheet["A2:A6"] 각 셀을 반복하여 값을 가져올 수 있습니다. 여기서 콘솔 출력에는 A 열의 2행부터 6행까지의 이름이 표시됩니다:

엑셀 셀 A2에서 A6까지 읽은 출력을 보여주는 Microsoft Visual Studio 디버그 콘솔, 이름 표시: John, Sara, Peter, Mathew, Katherine C#을 사용하여 이름이 포함된 Excel 셀 범위 (A2:A6)를 성공적으로 읽어들이는 콘솔 출력

셀 값 읽기 및 쓰기에 대한 자세한 내용은 C#에서 Excel 파일 읽기 예제 튜토리얼을 확인하세요. 또한 공식 적용이나 이름 붙은 범위 작업과 같은 고급 기능을 탐색할 수 있습니다.

전체 워크시트를 한 번에 가져오는 방법은?

IronXL은 행과 열 인덱스를 사용하여 Excel 시트를 한 번에 읽을 수 있도록 사용됩니다. 이것은 워크시트 내 모든 데이터를 처리해야 할 때나 CSV나 JSON과 같은 다른 형식으로 변환할 때 특히 유용합니다. 다음 IronXL 코드 샘플은 콘솔 출력에서 동일한 형식으로 전체 Excel 파일 데이터를 얻는 데 도움을 줍니다:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}

// Alternative method using LINQ for more efficient processing
var allData = sheet.Rows.SelectMany(row => 
    row.Columns.Select(col => col.Value?.ToString() ?? "")).ToList();
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the values
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}

// Alternative method using LINQ for more efficient processing
var allData = sheet.Rows.SelectMany(row => 
    row.Columns.Select(col => col.Value?.ToString() ?? "")).ToList();
$vbLabelText   $csharpLabel

더 큰 Excel 파일의 경우에는 DataTable 또는 DataSet 객체를 사용하여 더 나은 성능과 데이터 조작을 권장합니다:

// Convert worksheet to DataTable for easier manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers

// Process data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
// Convert worksheet to DataTable for easier manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers

// Process data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

출력 파일

엑셀 파일에서 읽은 이름, 직책, 급여 열이 포함된 직원 데이터 테이블을 표시하는 Microsoft Visual Studio 디버그 콘솔 콘솔 출력은 Excel 파일에서 가져온 직원 데이터를 적절한 형식으로 표시하며, 이름, 직책, 급여 정보를 보여줍니다.

.

Excel 파일 가져오기 후의 다음 단계는 무엇인가요?

이 문서에서는 Microsoft Excel을 설치하지 않고 C#에서 Excel 파일을 가져오고 읽는 방법을 보여줍니다. 개별 셀부터 전체 워크시트까지 Excel 스프레드시트에서 데이터를 읽는 다양한 방법을 다루었습니다. IronXL은 Excel 설치 없이 C#에서 Excel 파일을 생성하는 데에도 도움을 줍니다.

Excel 데이터를 성공적으로 가져온 후 추가 기능을 탐색해보세요:

IronXL은 모든 Microsoft Excel 문서 관련 작업을 프로그래밍적으로 구현하는 올인원 솔루션을 제공합니다. 공식 계산, 문자열이나 숫자 정렬, 잘라내기 및 추가, 찾기 및 교체, 셀 병합 및 병합 취소, 파일 저장 등 다양한 작업을 수행할 수 있습니다. 셀 값 수정과 함께 스프레드시트 데이터를 검증하면서 셀 데이터 형식을 설정할 수도 있습니다. CSV 파일도 지원하며 Excel 데이터와 매끄럽게 작업하는 데 도움을 줍니다.

기업 애플리케이션의 경우, 다양한 플랫폼에 대한 배포 옵션을 탐색해보세요. Docker 컨테이너, Azure Functions, 그리고 AWS Lambda를 포함합니다.

IronXL은 무료 체험판으로 제공되며, Lite 패키지를 통해 상업적으로 사용할 수 있도록 라이선스를 받을 수 있습니다 $799 만큼 시작합니다. 이 라이브러리는 뛰어난 문서, 튜토리얼, 및 코드 예제를 제공하여 C# 애플리케이션에서 Excel 파일 작업을 신속하게 시작할 수 있게 합니다.

자주 묻는 질문

Interop을 사용하지 않고 C#에서 Excel 파일을 가져오고 읽는 방법은 무엇인가요?

IronXL 라이브러리를 사용하면 C#에서 Excel 파일을 가져오고 읽을 수 있습니다. Microsoft Excel이 설치되어 있지 않아도 WorkBook.Load("file.xlsx") 를 사용하여 Excel 파일을 로드하면 데이터에 액세스하고 처리할 수 있습니다.

IronXL 라이브러리는 어떤 플랫폼과 호환되나요?

IronXL 모든 .NET Framework와 호환되며 Windows, Linux, MacOS, Docker, Azure, AWS를 포함한 다양한 플랫폼에서 사용할 수 있습니다.

Microsoft Excel이 설치되어 있지 않아도 IronXL 사용하여 Excel 파일을 편집할 수 있나요?

네, IronXL 사용하면 시스템에 Microsoft Excel이 설치되어 있지 않아도 C#으로 Excel 파일을 프로그래밍 방식으로 생성하고 편집할 수 있습니다.

IronXL 어떤 Excel 형식을 지원하나요?

IronXL XLS, XLSX, CSV, TSV 등 다양한 Excel 파일 형식을 지원하여 데이터를 쉽게 가져오고 조작할 수 있습니다.

C# 프로젝트에서 IronXL 사용하기 위한 필수 조건은 무엇입니까?

IronXL 사용하려면 Visual Studio가 설치되어 있어야 합니다. NuGet 패키지 관리자를 통해 프로젝트에 IronXL 추가하거나 .NET Excel DLL을 다운로드하여 참조할 수 있습니다.

C#에서 IronXL 사용하여 Excel 통합 문서를 불러오는 방법은 무엇인가요?

C#에서 Excel 통합 문서를 로드하려면 IronXL의 WorkBook.Load("path/to/file.xlsx") 메서드를 사용하면 통합 문서를 열고 조작할 수 있습니다.

IronXL 사용하여 Excel 수식을 처리할 수 있습니까?

네, IronXL 엑셀 시트가 편집될 때마다 엑셀 수식을 원활하게 처리하고 재계산하여 데이터 계산의 정확성을 보장합니다.

IronXL 사용하여 특정 셀의 데이터를 읽는 방법은 무엇입니까?

특정 셀의 데이터를 읽으려면 IronXL 구문을 사용하여 sheet["B2"].StringValue 와 같이 셀 B2의 값을 가져옵니다.

IronXL 사용하여 엑셀 시트의 특정 셀 범위를 순회할 수 있습니까?

네, IronXL 사용하면 foreach (var cell in sheet["A1:C3"]) 와 같은 구문을 통해 셀 범위를 순회하며 각 셀을 개별적으로 처리할 수 있습니다.

IronXL ASP.NET 애플리케이션에 통합하는 방법은 무엇인가요?

IronXL NuGet 통해 라이브러리를 추가하고 프로젝트에서 참조하기만 하면 ASP.NET 애플리케이션에 쉽게 통합할 수 있어 웹 애플리케이션에서 Excel 파일을 조작할 수 있습니다.

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

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

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

Iron Support Team

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