IRONSOFTWAREHOME

C#에서 DataTable를 가져오기 및 내보내는 방법

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

IronXL은 Excel 워크북과 DataSet 사이를 단일 메서드 호출로 변환하며, LoadWorkSheetsFromDataSet()을 사용하여 DataSet을 워크북으로 가져오고, ToDataSet()을 사용하여 워크북을 DataSet으로 내보내며 시트-테이블 매핑을 자동으로 제공합니다.

DataSet은 여러 관련 테이블, 관계 및 제한 조건을 포함한 데이터의 메모리 내 표현입니다. 데이터베이스, XML 및 기타 소스의 데이터 작업에 사용됩니다. C#에서 Excel 파일을 사용할 때 DataSet는 데이터 기반 응용 프로그램과 통합되는 친숙한 .NET 구조를 제공합니다.

DataTableDataSet 내에서 행과 열이 있는 단일 테이블을 나타냅니다. IronXL은 각 Excel 워크시트를 해당하는 DataTable에 자동으로 매핑하며 변환 중 열 머리글과 데이터 유형을 보존합니다.

빠른 시작: 워크북을 System.Data.DataSet으로 즉시 내보내기

워크북을 DataSet으로 변환하는 데 한 메서드 호출이 필요합니다. 이 예제는 첫 행 헤더 인식을 옵션으로 하여 ToDataSet을 사용하여 각 시트를 DataTable으로 하여 전체 워크북을 내보냅니다.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2다음 코드 조각을 복사하여 실행하세요.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기
    arrow pointer

워크북에 DataSet을 로드하는 방법은?

정적 LoadWorkSheetsFromDataSet 메소드를 사용하여 워크북에 DataSet을 가져옵니다. 이 메소드는 DataSetWorkbook 객체가 필요합니다. 또한 DataSet를 통해 선택적 설정을 허용합니다. 먼저 Create 메소드를 사용하여 워크북을 생성합니다. 메소드에 DataSet 객체와 workbook 객체를 전달합니다.

using IronXL;
using System.Data;

// Create dataset
DataSet dataSet = new DataSet();

// Create workbook
WorkBook workBook = WorkBook.Create();

// Load DataSet to workBook
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

DataSet 내의 각 DataTable는 개별 워크시트가 됩니다. 테이블 이름은 워크시트 이름이 되어 데이터 구성을 유지합니다. 여러 데이터 소스를 위해 스프레드시트 생성 또는 기존 워크시트 관리와 결합하여 사용하세요.

여기 여러 테이블이 포함된 DataSet을 로드하는 포괄적인 예가 있습니다:

using IronXL;
using System.Data;

// Create a DataSet with multiple tables
DataSet salesData = new DataSet("CompanySales");

// Create and populate a products table
DataTable productsTable = new DataTable("Products");
productsTable.Columns.Add("ProductID", typeof(int));
productsTable.Columns.Add("ProductName", typeof(string));
productsTable.Columns.Add("Price", typeof(decimal));

// Add sample data
productsTable.Rows.Add(1, "Laptop", 999.99m);
productsTable.Rows.Add(2, "Mouse", 19.99m);
productsTable.Rows.Add(3, "Keyboard", 49.99m);

// Create and populate a sales table
DataTable salesTable = new DataTable("Sales");
salesTable.Columns.Add("SaleID", typeof(int));
salesTable.Columns.Add("ProductID", typeof(int));
salesTable.Columns.Add("Quantity", typeof(int));
salesTable.Columns.Add("Date", typeof(DateTime));

// Add sample sales data
salesTable.Rows.Add(1, 1, 5, DateTime.Now);
salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1));
salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2));

// Add tables to DataSet
salesData.Tables.Add(productsTable);
salesData.Tables.Add(salesTable);

// Create workbook and load DataSet
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook);

// Save the workbook with all imported data
workBook.SaveAs("SalesReport.xlsx");

이 방법은 SQL 데이터베이스에서 데이터를 내보내거나 여러 소스에서 데이터를 Excel 형식으로 통합할 때 효과적입니다.

기존 스프레드시트 불러오기 방법을 방문하여 다양한 파일 형식에서 스프레드시트를 가져오는 방법을 알아보세요.


워크북을 DataSet으로 내보내는 방법은?

ToDataSet 메소드는 워크북을 System.Data.DataSet로 변환하여 각 워크시트가 System.Data.DataTable이 됩니다. Excel 워크북에서 이 메소드를 호출하여 DataSet 객체로 변환합니다. useFirstRowAsColumnNames 매개변수는 첫 번째 행을 열 이름으로 사용할지 여부를 결정합니다.

// source file not found: /static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
C#

IronXL은 자동으로 데이터 유형 변환을 처리하고 데이터 세트로 내보낼 때 스프레드시트 구조를 유지합니다. SQL 데이터베이스와 Excel 데이터를 통합하거나 .NET 어플리케이션에서 데이터를 사용할 때 도움이 됩니다.

워크북 내보내기와 데이터 세트 처리를 보여주는 고급 예제:

using IronXL;
using System;
using System.Data;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("FinancialData.xlsx");

// Export to DataSet with column headers from first row
DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true);

// Process each DataTable in the DataSet
foreach (DataTable table in financialDataSet.Tables)
{
    Console.WriteLine($"Processing table: {table.TableName}");
    Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}");
    
    // Iterate through columns
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine($"  Column: {column.ColumnName} ({column.DataType})");
    }
    
    // Process first 5 rows as example
    int rowCount = 0;
    foreach (DataRow row in table.Rows)
    {
        if (rowCount++ >= 5) break;
        
        // Access data by column name
        foreach (DataColumn col in table.Columns)
        {
            Console.WriteLine($"    {col.ColumnName}: {row[col]}");
        }
    }
}

// You can also export specific worksheets as DataTables
WorkSheet specificSheet = workBook.GetWorkSheet("Q1Sales");
DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true);

// Use the DataTable with other .NET components
// For example, bind to a DataGridView or save to database
C#

내보낸 DataSet는 Excel에서 정의된 관계 및 제한 조건을 유지하며, Excel Interop 의존성을 없애고 복잡한 Excel 데이터 구조를 처리하는 데 완벽합니다.

추가 데이터 세트/데이터 테이블 기능

IronXL은 DataSetDataTable을 사용할 때 고급 기능을 제공합니다:

데이터 유형 처리

IronXL은 Excel-DataSet 변환 중에 지능적으로 데이터 유형을 매핑합니다. 숫자 셀은 적절한 숫자 유형(Int32, Double, Decimal)이 되고, 날짜 셀은 DateTime 객체가 되고, 텍스트 셀은 String이 됩니다. 변환 전에 셀 데이터 형식을 설정하여 이 기능을 맞춤 설정하세요.

성능 최적화

IronXL은 대규모 데이터 세트를 위한 메모리 사용 및 처리 속도를 최적화합니다. 라이브러리는 데이터를 메모리에 모두 불러오는 대신 효율적으로 스트리밍합니다. 대량 데이터 처리를 위한 Enterprise 어플리케이션에 적합합니다.

다른 기능과의 통합

데이터 세트/데이터 테이블 기능은 다른 IronXL 기능과 통합됩니다:

  • DataSet에 내보내기 전에 수식 및 계산을 적용하십시오
  • 변환 전에 데이터를 강조 표시하기 위한 조건부 서식 사용
  • 차트 생성과 결합하여 시각적 보고서 생성
  • int을 사용하여 사용자 정의 직렬화를 지원합니다
  • decimal을 통해 데이터 검증 규칙을 포함합니다
  • double을 사용하여 누락된 값을 처리합니다
  • DateTime을 통해 워크시트 메타데이터를 관리하십시오
  • string을 사용하여 셀의 포맷 유형을 유지합니다

스프레드시트 저장 또는 내보내기 방법을 방문하여 다양한 파일 형식으로 스프레드시트를 내보내는 방법을 알아보세요.

자주 묻는 질문

C#에서 Excel 통합 문서를 DataSet으로 변환하는 방법은 무엇인가요?

IronXL을 사용하면 ToDataSet() 메서드를 통해 Excel 통합 문서를 DataSet으로 변환할 수 있습니다. WorkBook.ToDataSet(useFirstRowAsColumnNames: true)를 호출하기만 하면 전체 통합 문서를 내보낼 수 있으며, 결과 DataSet에서는 각 시트가 DataTable이 됩니다.

프로그램으로 데이터셋을 엑셀 통합 문서로 가져올 수 있나요?

예, IronXL은 DataSet을 통합 문서로 가져오는 LoadWorkSheetsFromDataSet() 메서드를 제공합니다. WorkBook.Create()를 사용하여 통합 문서를 생성한 다음, DataSet과 통합 문서를 모두 이 정적 메서드에 전달하세요. 각 DataTable은 별도의 워크시트로 생성됩니다.

Excel로 가져올 때 DataTable 이름은 어떻게 되나요?

IronXL의 LoadWorkSheetsFromDataSet() 메서드를 사용하면 각 DataTable 이름이 Excel의 워크시트 이름으로 자동 변환되어 데이터 구성이 유지되고 다양한 데이터 소스를 쉽게 식별할 수 있습니다.

해당 라이브러리는 DataSet 변환 중에 열 헤더를 유지합니까?

네, IronXL은 Excel과 DataSet 간 변환 시 열 머리글과 데이터 형식을 유지합니다. useFirstRowAsColumnNames를 true로 설정하여 ToDataSet()을 사용하면 각 워크시트의 첫 번째 행이 열 머리글로 인식됩니다.

Excel과 DataSet 간 변환 시 여러 테이블은 어떻게 처리되나요?

IronXL은 Excel 워크시트를 DataSet으로 변환할 때, 그리고 그 반대로 변환할 때 각 Excel 워크시트를 해당 DataTable에 자동으로 매핑합니다. 여러 테이블이 포함된 DataSet을 가져올 경우, 각 DataTable은 통합 문서에 별도의 워크시트를 생성합니다.

Excel 파일을 DataSet으로 내보내는 데 필요한 최소한의 코드는 무엇입니까?

IronXL을 사용하여 Excel 통합 문서를 DataSet으로 내보내는 최소 코드는 단 한 줄입니다. DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); 이 코드는 시트와 테이블을 자동으로 매핑하여 전체 통합 문서를 변환합니다.

What performance optimizations does IronXL include for handling large datasets?

IronXL is optimized for high performance, using efficient streaming techniques to manage memory and speed when working with large data volumes, making it suitable for enterprise-level applications.

How does IronXL maintain data structure when converting a workbook to a DataSet?

IronXL maintains the organizational structure by converting each worksheet to a DataTable. The relationships, constraints, column headers, and data types are preserved during conversion, allowing for complex data interactions.

Can I use IronXL to create visual reports using Excel data?

Yes, IronXL supports creating charts and visual reports by integrating its DataSet/DataTable functionality with its chart creation features, allowing for comprehensive data visualization directly from Excel data.

Does IronXL support the integration of custom serialization in DataSet operations?

IronXL allows for custom serialization, which can enhance DataSet and DataTable manipulation according to specific application requirements, providing greater flexibility in handling serialized data.

Curtis Chau
기술 문서 작성자

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

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 2,237,574버전:2026.9방금 출시

무료로 받기

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

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.
bullet_test워터마크 없이
프로덕션에서 테스트
bullet_calendar30일 완전한
기능의 제품
bullet_support체험 기간 동안
24/5 기술 지원
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronXL"을 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.9

  1. IronXL을 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronXL.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

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일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.