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

C#에서 Excel 파일을 읽는 가장 좋은 방법 | IronXL 단계별 가이드

C#에서 Excel 파일을 읽는 것은 .NET 개발자에게 일반적인 과제입니다. 데이터 가져오기 파이프라인, 보고서 도구 또는 배치 처리 시스템을 구축하든 스프레드시트 데이터를 깔끔하게 분석하는 것이 중요합니다. IronXL은 서버에서 Microsoft Office나 COM 상호 운용성이 필요 없이 XLSX, XLS, CSV 파일을 처리하는 .NET 라이브러리입니다. 이 가이드는 설치부터 고급 쿼리에 이르기까지 전체 작업 흐름을 안내하여 프로젝트에 적합한 접근 방식을 선택할 수 있도록 돕습니다.

지금 바로 IronXL으로 시작하세요.
green arrow pointer

C#에서 Excel 파일을 읽는 최상의 방법은 무엇인가요?

최상의 접근 방식은 IronXL과 같은 Office에 종속되지 않은 전용 라이브러리를 사용하는 것입니다. Microsoft.Office.Interop.Excel과 같은 전통적인 방법은 Excel이 설치된 컴퓨터에서 작동하지만, 서버나 컨테이너 환경에서는 불안정합니다. 이러한 환경에서는 컴 프로세스를 비하인드에서 시작하기 때문입니다. OpenXML SDK는 무료로 서버에서 안전하게 사용할 수 있지만, 일상적인 작업에 대해 많은 보일러플레이트가 필요한 저급 XML 모델을 노출합니다.

IronXL은 이러한 극단 사이에 위치합니다. API는 개발자가 이미 스프레드시트 작업을 생각하는 방식을 반영합니다. 즉, 워크북은 워크시트를 포함하고 워크시트는 셀을 포함하며 셀은 형식이 지정된 값을 보유합니다. 이 라이브러리는 형식 감지, 수식 평가 및 인코딩을 내부적으로 처리하므로 구문 분석 세부 항목보다는 비즈니스 로직에 시간을 집중할 수 있습니다.

C#에서의 Excel 읽기 접근 방식 비교
접근 방식 Office가 필요합니까? 서버 안전한가요? API 간결성 형식 지원
COM 상호 운용성 아니요 낮음 XLSX, XLS
OpenXML SDK 아니요 낮음 XLSX만 지원
IronXL 아니요 높음 XLSX, XLS, CSV

IronXL의 엑셀 읽기 문서는 전체 API 면을 다룹니다. 현재는 아래 섹션들이 모든 프로젝트에서 사용할 핵심 패턴을 보여줍니다.

IronXL을 .NET 프로젝트에 어떻게 설치합니까?

NuGet 패키지 관리자를 사용하면 설치가 1분 이내에 완료됩니다. 프로젝트 디렉터리에서 터미널을 열고 다음을 실행하십시오:

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

또는 Visual Studio 패키지 관리 콘솔을 사용하십시오:

Install-Package IronXl.Excel
Install-Package IronXl.Excel
SHELL

설치 후, 스프레드시트 접근이 필요한 파일에 using IronXL; 지시문을 추가하세요. 이 라이브러리는 .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2, .NET Standard 2.0을 대상으로 하므로 런타임을 업그레이드하지 않고도 기존 프로젝트에 적합합니다. 플랫폼별 주의 사항과 NuGet 패키지 세부 정보를 위해 IronXL 설치 가이드를 참조하십시오.

추가적인 런타임 구성 요소, 레지스트리 항목, 또는 오피스 라이선스가 필요하지 않습니다. NuGet 패키지는 라이브러리에 필요한 모든 것을 번들로 제공합니다.

설치 확인

패키지를 추가한 후, 참조가 올바르게 해결되는지 확인하기 위해 프로젝트를 한 번 빌드하십시오. CS0246 오류가 IronXL 타입에서 발생할 경우, using IronXL; 지시문이 있는지 확인하고, .csproj의 대상 프레임워크가 지원되는 버전인지 확인하세요. IronXL 호환성 매트릭스는 모든 확인된 런타임 대상 목록을 제공합니다.

엑셀 워크북을 어떻게 로드하고 읽습니까?

워크북 로드는 단일 메소드 호출로 가능합니다. WorkBook.Load는 파일 경로를 받아서 메모리에 전체 파일을 나타내는 WorkBook 객체를 반환합니다.

using IronXL;

// Load any supported format -- XLSX, XLS, or CSV
WorkBook workbook = WorkBook.Load("financial_report.xlsx");

// Access the first worksheet by position
WorkSheet worksheet = workbook.WorkSheets[0];

// Or retrieve a named worksheet
WorkSheet expenses = workbook.GetWorkSheet("Expenses");

Console.WriteLine($"Sheets loaded: {workbook.WorkSheets.Count}");
Console.WriteLine($"Default sheet rows: {worksheet.RowCount}");
using IronXL;

// Load any supported format -- XLSX, XLS, or CSV
WorkBook workbook = WorkBook.Load("financial_report.xlsx");

// Access the first worksheet by position
WorkSheet worksheet = workbook.WorkSheets[0];

// Or retrieve a named worksheet
WorkSheet expenses = workbook.GetWorkSheet("Expenses");

Console.WriteLine($"Sheets loaded: {workbook.WorkSheets.Count}");
Console.WriteLine($"Default sheet rows: {worksheet.RowCount}");
$vbLabelText   $csharpLabel

C#에서 IronXL로 Excel 파일을 읽는 최고의 방법: 이미지 1 - 로드된 워크북 확인용 콘솔 출력

WorkBook 객체는 워크시트의 모든 데이터를 접근 가능하게 유지합니다. 각 WorkSheet 인스턴스는 파일의 탭과 매핑됩니다. 단일 시트 파일에는 인덱스 (WorkSheets[0])로 접근하는 것이 신뢰할 수 있습니다; 이름으로 접근하는 것이 파일에 이름이 알려진 여러 탭이 있을 때 더 안전합니다.

IronXL은 셀을 읽을 때 자동으로 수식을 평가합니다. 셀 B10=SUM(B2:B9)이 포함되어 있는 경우, sheet["B10"].DecimalValue을 읽으면 수식 문자열이 아닌 계산된 합계를 반환합니다. 워크북 로드 옵션에 대한 자세한 내용은 스프레드시트 로드 방법 가이드를 참조하십시오.

여러 워크시트 작업

워크북에 여러 탭이 있는 경우, workbook.WorkSheets을 사용하여 이들을 나열하고 각 탭을 순차적으로 처리할 수 있습니다. 이는 데이터가 월별, 부서별, 또는 지역별로 별개의 탭에 나뉘어 있는 파일에 유용합니다. WorkSheet.Name 속성은 조건부 처리나 로깅에 사용할 수 있는 문자열로 탭 레이블을 제공합니다.

워크시트에서 셀 값을 어떻게 읽습니까?

IronXL은 각 셀에 강력한 형식의 속성을 제공하여 값을 직접 올바른 .NET 형식으로 읽을 수 있게 합니다.

using IronXL;

WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Address-based access with typed properties
string productName = sheet["A2"].StringValue;
int quantity       = sheet["B2"].IntValue;
decimal price      = sheet["C2"].DecimalValue;
bool inStock       = sheet["D2"].BoolValue;

// Check for empty cells before processing
var statusCell = sheet["E2"];
if (statusCell.Value != null && statusCell.StringValue.Length > 0)
{
    Console.WriteLine($"Status: {statusCell.StringValue}");
}

// Row/column index access (zero-based)
var firstDataCell = sheet.Rows[1].Columns[0];
Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price:C}");
using IronXL;

WorkBook workbook = WorkBook.Load("Products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Address-based access with typed properties
string productName = sheet["A2"].StringValue;
int quantity       = sheet["B2"].IntValue;
decimal price      = sheet["C2"].DecimalValue;
bool inStock       = sheet["D2"].BoolValue;

// Check for empty cells before processing
var statusCell = sheet["E2"];
if (statusCell.Value != null && statusCell.StringValue.Length > 0)
{
    Console.WriteLine($"Status: {statusCell.StringValue}");
}

// Row/column index access (zero-based)
var firstDataCell = sheet.Rows[1].Columns[0];
Console.WriteLine($"Product: {productName}, Qty: {quantity}, Price: {price:C}");
$vbLabelText   $csharpLabel

C#에서 IronXL로 Excel 파일을 읽는 최고의 방법: 이미지 2 - IronXL로 간단한 Excel 읽기 출력

sheet["A2"] 구문은 표준 Excel 표기법을 사용합니다. 열 문자는 대소문자를 구분하지 않으며, 행 번호는 1부터 시작하여 엑셀이 셀을 레이블하는 방식과 일치합니다. 셀 값 읽기 문서는 날짜로 포맷된 셀에 대한 DateTimeValue를 포함한 추가 형식 접속자를 보여줍니다.

셀에 문자로 저장된 숫자가 있을 경우 (내보낸 스프레드시트에서 흔한 데이터 품질 문제), StringValue는 텍스트 그대로 반환하고, DecimalValue는 파싱을 시도하며 실패 시 0을 반환합니다. 프로덕션 코드에서 예상치 못한 데이터를 형식화된 값으로 처리하기 전에 항상 유효성을 검사하십시오.

날짜 및 부울 셀 처리

엑셀의 날짜 셀은 내부적으로 일련번호로 저장됩니다. IronXL은 이를 수동 산술 없이 .NET DateTime 객체로 변환하기 위한 DateTimeValue을 노출합니다. 셀에 TRUE 또는 FALSE가 포함된 경우, BoolValue은 문자열 비교 없이 올바른 부울 값을 반환합니다. 이러한 유형화된 접근자는 제네릭 텍스트 기반의 구문 분석기를 통해 스프레드시트를 읽을 때 일반적으로 발생하는 데이터 유형 버그의 클래스를 제거합니다.

행과 셀을 어떻게 반복합니까?

데이터셋을 반복하기 위해서 범위 또는 행 컬렉션이 필요합니다. IronXL은 두 가지 접근 방식을 모두 지원하며, 데이터를 일치시키기 위해 이들을 결합하여 사용할 수 있습니다.

using IronXL;

WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.WorkSheets[0];

// Iterate a cell range -- skips header row
foreach (var cell in sheet["A2:D100"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Row-by-row with column access
for (int rowIndex = 1; rowIndex < sheet.RowCount; rowIndex++)
{
    var row = sheet.Rows[rowIndex];
    var values = new System.Text.StringBuilder();

    foreach (var cell in row)
    {
        if (cell.Value != null)
            values.Append($"{cell.StringValue}\t");
    }

    Console.WriteLine(values.ToString().TrimEnd());
}
using IronXL;

WorkBook workbook = WorkBook.Load("financial_report.xlsx");
WorkSheet sheet = workbook.WorkSheets[0];

// Iterate a cell range -- skips header row
foreach (var cell in sheet["A2:D100"])
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Row-by-row with column access
for (int rowIndex = 1; rowIndex < sheet.RowCount; rowIndex++)
{
    var row = sheet.Rows[rowIndex];
    var values = new System.Text.StringBuilder();

    foreach (var cell in row)
    {
        if (cell.Value != null)
            values.Append($"{cell.StringValue}\t");
    }

    Console.WriteLine(values.ToString().TrimEnd());
}
$vbLabelText   $csharpLabel

C#에서 IronXL로 Excel 파일을 읽는 최고의 방법: 이미지 3 - 행을 반복하는 출력

범위 문자열 "A2:D100"은 평면 셀 컬렉션을 생성합니다. 범위 내의 행은 위에서 아래로, 왼쪽에서 오른쪽으로 처리됩니다. 이 패턴은 List<t>, DataTable 또는 데이터베이스로 내보낼 때 잘 작동합니다.

sheet.RowCount 속성은 워크시트에서 마지막으로 사용된 행을 반영하여, 데이터가 끝나면 자동으로 루프가 종료됩니다. 엑셀 범위 반복 가이드는 열 먼저 순회하는 추가 반복 패턴을 다룹니다.

헤더 행 건너뛰기

대부분의 스프레드시트에는 데이터를 포함하지 않고 열 이름을 설명하는 헤더 행이 있습니다. 범위 반복을 2행 (예: "A2:D100")에서 시작하거나 인덱스 루프를 rowIndex = 1에서 시작하여 헤더를 건너뜁니다. ToDataTable(true)을 사용하는 경우, IronXL은 헤더 감지를 자동으로 처리하며 첫 번째 행에서 열 이름을 매핑합니다.

여러 Excel 형식을 어떻게 처리합니까?

IronXL은 확장자와 파일 헤더에서 형식을 자동으로 감지합니다. API는 XLSX, XLS, CSV 파일에 대해 동일하므로 조건문 없이 세 가지 형식 모두에서 동일한 구문 분석 코드가 작동합니다.

using IronXL;

// Load different formats with identical API
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook  = WorkBook.Load("Legacy.xls");
WorkBook csvBook  = WorkBook.Load("Export.csv");

// Access worksheets identically across formats
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;

// Cross-format conversion -- save XLSX as CSV, or CSV as XLSX
xlsxBook.SaveAs("converted_output.csv");
csvBook.SaveAs("structured_output.xlsx");

Console.WriteLine($"XLSX rows: {sheet1.RowCount}");
Console.WriteLine($"XLS rows:  {sheet2.RowCount}");
Console.WriteLine($"CSV rows:  {sheet3.RowCount}");
using IronXL;

// Load different formats with identical API
WorkBook xlsxBook = WorkBook.Load("Modern.xlsx");
WorkBook xlsBook  = WorkBook.Load("Legacy.xls");
WorkBook csvBook  = WorkBook.Load("Export.csv");

// Access worksheets identically across formats
WorkSheet sheet1 = xlsxBook.DefaultWorkSheet;
WorkSheet sheet2 = xlsBook.DefaultWorkSheet;
WorkSheet sheet3 = csvBook.DefaultWorkSheet;

// Cross-format conversion -- save XLSX as CSV, or CSV as XLSX
xlsxBook.SaveAs("converted_output.csv");
csvBook.SaveAs("structured_output.xlsx");

Console.WriteLine($"XLSX rows: {sheet1.RowCount}");
Console.WriteLine($"XLS rows:  {sheet2.RowCount}");
Console.WriteLine($"CSV rows:  {sheet3.RowCount}");
$vbLabelText   $csharpLabel

CSV 파일에 대해 IronXL은 콤마를 포함하는 인용 필드, 인용값 내부의 새줄, 이스케이프된 큰따옴표를 포함한 RFC 4180 규칙을 준수합니다. CSV에서 XLSX로 변환 가이드는 비표준 CSV 내보내기를 위한 구분자 사용자 정의를 다룹니다.

어플리케이션이 외부 시스템에서 파일을 수락해야 할 경우, 파일 확장자를 검사하고 로드하기 전에 콘텐츠를 확인하는 것이 좋습니다. IronXL은 파일이 손상되었거나 지원되지 않는 형식일 경우 설명적인 예외를 던지며, 이를 캐치하여 사용자에게 표시할 수 있습니다.

Excel 데이터에 고급 쿼리를 어떻게 실행합니까?

셀별로 읽는 것 외에, IronXL은 시트 범위를 쿼리 가능한 컬렉션으로 변환하는 집계 함수와 LINQ 호환성을 제공합니다.

using IronXL;
using System.Linq;

WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Built-in aggregates -- no manual looping needed
decimal totalSales = sheet["B2:B50"].Sum();
decimal maxRevenue = sheet["C2:C50"].Max(c => c.DecimalValue);
decimal avgMargin  = sheet["D2:D50"].Avg();

// LINQ filtering directly on a range
var highValueRows = sheet["C2:C50"]
    .Where(c => c.DecimalValue > 1000)
    .Select(c => new { c.AddressString, c.DecimalValue });

foreach (var row in highValueRows)
    Console.WriteLine($"높음 value at {row.AddressString}: {row.DecimalValue:C}");

// Write a calculated result back to the sheet
sheet["E2"].Value = totalSales;
workbook.SaveAs("Financials_Updated.xlsx");

Console.WriteLine($"Total: {totalSales:C}, Max: {maxRevenue:C}, Avg: {avgMargin:C}");
using IronXL;
using System.Linq;

WorkBook workbook = WorkBook.Load("Financials.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Built-in aggregates -- no manual looping needed
decimal totalSales = sheet["B2:B50"].Sum();
decimal maxRevenue = sheet["C2:C50"].Max(c => c.DecimalValue);
decimal avgMargin  = sheet["D2:D50"].Avg();

// LINQ filtering directly on a range
var highValueRows = sheet["C2:C50"]
    .Where(c => c.DecimalValue > 1000)
    .Select(c => new { c.AddressString, c.DecimalValue });

foreach (var row in highValueRows)
    Console.WriteLine($"높음 value at {row.AddressString}: {row.DecimalValue:C}");

// Write a calculated result back to the sheet
sheet["E2"].Value = totalSales;
workbook.SaveAs("Financials_Updated.xlsx");

Console.WriteLine($"Total: {totalSales:C}, Max: {maxRevenue:C}, Avg: {avgMargin:C}");
$vbLabelText   $csharpLabel

C#에서 IronXL로 Excel 파일을 읽는 최고의 방법: 이미지 4 - 고급 읽기 작업 콘솔 출력

LINQ 호환성은 데이터베이스로 가져오기 전에 행을 필터링하거나 열의 모든 값이 임계값을 만족하는지 확인해야 할 때 유용합니다. 라이브러리는 LINQ 실행 전 수식을 평가하므로 집계 쿼리는 항상 수식 문자열이 아닌 최종 계산 값을 기반으로 작동합니다.

IronXL을 사용한 LINQ 튜토리얼은 시트를 조인하는 것, 열 기준으로 그룹화하는 것, 결과를 강력하게 타입화된 개체에 투영하는 것 등, 데이터 파이프라인 코드의 많은 보일러플레이트를 제거하는 패턴을 다룹니다.

Excel 데이터를 DataTable로 어떻게 내보냅니까?

많은 .NET 응용 프로그램은 스프레드시트 데이터를 추가 처리 또는 데이터베이스 삽입을 위해 ADO.NET DataTable로 로드합니다. IronXL은 수동 열 매핑이 필요 없는 직접 변환 방법을 제공합니다.

using IronXL;
using System.Data;

WorkBook workbook = WorkBook.Load("SalesData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Convert worksheet to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

Console.WriteLine($"Columns: {dataTable.Columns.Count}");
Console.WriteLine($"Rows:    {dataTable.Rows.Count}");

// Iterate the DataTable normally
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"{row["ProductName"]} -- {row["Quantity"]} -- {row["Price"]}");
}
using IronXL;
using System.Data;

WorkBook workbook = WorkBook.Load("SalesData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Convert worksheet to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

Console.WriteLine($"Columns: {dataTable.Columns.Count}");
Console.WriteLine($"Rows:    {dataTable.Rows.Count}");

// Iterate the DataTable normally
foreach (DataRow row in dataTable.Rows)
{
    Console.WriteLine($"{row["ProductName"]} -- {row["Quantity"]} -- {row["Price"]}");
}
$vbLabelText   $csharpLabel

trueToDataTable에 전달하면 첫 번째 워크시트 행을 열 헤더로 처리합니다. 결과 DataTable는 헤더 텍스트와 일치하는 문자열 열 이름을 사용하여 이후의 LINQ-to-DataSet 쿼리가 읽기 쉽습니다. DataTable 내보내기 문서는 null 처리 및 유형 추론 옵션을 다룹니다.

이 패턴은 하위 코드를 DataTable로 불러와서 -- 예를 들어, SQL Server로 행을 삽입하기 위해 SqlBulkCopy를 호출할 때 -- 특히 유용합니다. XLSX 파일을 로드하여 DataTable로 변환하고, 열-매핑 보일러플레이트를 작성하지 않고 대량 삽입할 수 있습니다.

IronXL 코어 읽기 API 참조
작업 API 반환값
파일 로드 `WorkBook.Load(path)` `WorkBook`
인덱스로 워크시트 가져오기 `workbook.WorkSheets[0]` `WorkSheet`
이름으로 워크시트 가져오기 `workbook.GetWorkSheet("name")` `WorkSheet`
문자열 셀 읽기 `sheet["A1"].StringValue` `string`
소수 셀 읽기 `sheet["B1"].DecimalValue` `decimal`
범위 반복 `foreach cell in sheet["A2:D100"]` `IEnumerable<Cell>`
범위 합 `sheet["B2:B50"].Sum()` `decimal`
데이터 테이블로 내보내기 `sheet.ToDataTable(true)` `DataTable`

전체 API 목록을 보려면 IronXL API 레퍼런스를 참조하세요. 이 레퍼런스는 매개변수 설명과 반환 유형 세부 사항이 있는 모든 속성과 메서드를 다룹니다.

다음 단계는 무엇입니까?

C#에서 Excel 파일을 읽는 것은 올바른 라이브러리를 보유하고 있다면 간단합니다. IronXL은 Office 종속성을 제거하고 API 표면을 간소화하며 동일한 코드 경로로 XLSX, XLS 및 CSV 형식을 처리합니다. 여기서 다룬 패턴들 -- 워크북 로드, 형식화된 셀 값 읽기, 범위 반복, 집계 실행, 그리고 DataTable로 내보내기 -- 는 대부분의 실제 스프레드시트 읽기 요구사항을 다룹니다.

이 패턴들을 계속 구축하려면:

다른 라이브러리와 IronXL을 평가하는 팀을 위해 IronXL 대 EPPlus 비교IronXL 대 NPOI 비교는 성능 벤치마크와 API 차이점을 다룹니다. 두 비교 모두 각 라이브러리의 동등한 작업에 대한 코드 샘플을 포함합니다.

Microsoft의 Excel 파일 형식 사양은 레거시 시스템에서 비정상적인 스프레드시트 구조를 마주칠 때 유용한 참조입니다. ECMA-376 표준은 XLSX 파일이 따르는 OOXML 형식을 정의합니다.

프로덕션 라이선스에 커밋하기 전에 자신만의 프로젝트에서 전체 API를 테스트하기 위해 무료 IronXL 체험 라이선스로 시작하세요.

자주 묻는 질문

C#에서 엑셀 파일을 읽는 가장 좋은 방법은 무엇일까요?

C#에서 Excel 파일을 읽는 가장 좋은 방법은 IronXL 과 같은 Office 독립형 라이브러리를 사용하는 것입니다. IronXL은 Microsoft Excel이나 COM Interop 없이 XLSX, XLS 및 CSV 형식을 처리하므로 서버 및 컨테이너 환경에서 안전하게 사용할 수 있습니다.

IronXL 사용하려면 Microsoft Office가 설치되어 있어야 합니까?

아니요. IronXL 은 NuGet 패키지로 배포되는 독립형 .NET 라이브러리입니다. Microsoft Office, Excel 또는 COM 구성 요소가 컴퓨터에 설치되어 있을 필요가 없습니다.

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

IronXL XLSX, XLS 및 CSV 파일을 읽고 쓸 수 있습니다. 파일 확장자와 내용 헤더를 기반으로 파일 형식을 자동으로 감지합니다.

.NET 프로젝트에 IronXL 설치하는 방법은 무엇인가요?

터미널에서 'dotnet add package IronXl.Excel'을 실행하거나 Visual Studio 패키지 관리자 콘솔에서 ' Install-Package IronXl.Excel'을 실행하십시오.

IronXL Excel 데이터를 DataTable로 내보낼 수 있습니까?

예. WorkSheet.ToDataTable(true) 메서드는 모든 워크시트를 ADO .NET DataTable로 변환하며, true를 전달하면 첫 번째 행이 열 머리글로 사용됩니다.

IronXL Excel 데이터에 대한 LINQ 쿼리를 지원합니까?

네. IronXL 셀 범위는 IEnumerable 인터페이스를 구현하므로 Where, Select, Sum, Max, Avg와 같은 LINQ 메서드를 워크시트 범위에서 직접 사용할 수 있습니다.

IronXL 엑셀 수식을 어떻게 처리하나요?

IronXL 셀 값을 읽을 때 수식을 자동으로 평가합니다. 수식이 있는 셀에서 sheet["B10"].DecimalValue를 읽으면 수식 문자열이 아닌 계산된 결과가 반환됩니다.

IronXL 어떤 .NET 버전을 지원합니까?

IronXL .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 및 .NET Standard 2.0을 지원합니다.

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

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

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

Iron Support Team

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