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

C#에서 DataTable을 Excel로 내보내는 가장 빠른 방법

스프레드시트 작업을 할 때 마이크로소프트 Excel 응용 프로그램은 대규모 데이터 세트를 표 형식으로 관리하기 위한 인기 있는 스프레드시트 도구입니다. 복잡한 계산, 차트와 그래프를 통한 데이터 시각화, 피벗 테이블, Visual Basic for Applications (VBA)를 통한 자동화 지원과 같은 강력한 기능을 제공합니다. 강력한 데이터 분석 및 시각화 도구 덕분에 Excel은 다양한 산업 분야에서 선도적인 선택사항이 되었습니다. Excel을 사용하면 파일을 쉽게 생성, 편집, 보기 및 공유하여 데이터 관리 작업을 간소화할 수 있습니다.

C#에서 ADO.NET 라이브러리의 DataTable 객체는 프로그램 내에서 Excel 워크시트와 유사한 표 형식의 데이터를 나타냅니다. 데이터를 행과 열로 구성하여 쉽게 조작하고 내보낼 수 있도록 합니다. Excel과 마찬가지로 DataTable은 필터링, 정렬 및 서식 옵션을 지원하여 C#에서 데이터 범위를 관리하기 위한 도구입니다. 그러나 DataTable은 런타임에 생성되며, 더 영구적인 형식(예: Excel 파일 또는 CSV 파일)으로 내보내지 않는 한 응용 프로그램이 닫히면 데이터가 손실됩니다.

오늘은 C#에서 DataTable을 생성하고 강력한 .NET Excel 라이브러리인 IronXL을 사용하여 Excel 문서로 데이터를 내보내는 방법을 탐색해 보겠습니다.

IronXL: .NET Excel 라이브러리

IronXL은 Excel 파일을 생성하는 과정을 단순화하는 C# .NET 라이브러리입니다. IronXL을 사용하면 새로운 스프레드시트를 생성하고 기존 스프레드시트를 편집하며, Excel 수식을 활용하고, 스프레드시트의 셀을 스타일링할 수 있습니다. 풍부한 기능의 범위를 가지고 있어 Excel 파일 작업을 프로그램적으로 쉽게 만들며, 가장 중요한 점은 IronXL이 Microsoft Office Interop 없이 작동한다는 것입니다. 즉, Microsoft Office 또는 다른 특별한 종속성을 설치할 필요가 없습니다.

IronXL을 사용하면 XLS 및 XLSX, CSV 데이터, TSV, JSON, XML 및 HTML, 바이너리 및 바이트 배열 등 다양한 형식으로 데이터를 저장하거나 내보낼 수 있습니다. 또한 권한 및 암호 추가와 같은 강력한 워크북 보안 기능을 자랑하며, 워크북 메타데이터를 편집할 수 있습니다.

DataTable에서 Excel 파일로 데이터 내보내는 단계

필수 조건

C#에서 DataTable의 데이터를 Excel 파일로 내보내기 위해 IronXL을 사용하려면, 로컬 컴퓨터에 다음 구성 요소를 설치해야 합니다. 각각 하나씩 살펴보겠습니다.

  1. Visual Studio - Visual Studio는 C# 프로그래밍을 위한 IDE로 반드시 설치해야 합니다. Visual Studio 웹사이트에서 최신 버전을 다운로드하여 설치할 수 있습니다.
  • IDE 설정이 완료되면, DataTable을 Excel로 내보내는 데 도움이 될 콘솔 애플리케이션/윈도우 폼을 만들어야 합니다. 다음 스크린샷은 프로젝트를 생성하는 방법을 보여줍니다.

    프로젝트 생성

이제 프로젝트 유형을 선택하십시오. 예시에서는 콘솔 앱을 생성할 것입니다.

 ![콘솔 앱](/static-assets/excel/blog/csharp-fastest-way-export-datatable-to-excel/csharp-fastest-way-export-datatable-to-excel-2.webp)

프로젝트 이름을 지정하고 저장할 위치를 선택하십시오.

 ![프로젝트 이름](/static-assets/excel/blog/csharp-fastest-way-export-datatable-to-excel/csharp-fastest-way-export-datatable-to-excel-3.webp)

마지막으로 .NET Framework를 선택하고 'Create'를 클릭하십시오.

 ![Dot NET Framework](/static-assets/excel/blog/csharp-fastest-way-export-datatable-to-excel/csharp-fastest-way-export-datatable-to-excel-4.webp)

마지막 스크린샷에서 'Create'를 클릭하면, 'DemoApp'이라는 이름의 프로젝트가 생성됩니다.

  1. IronXL 라이브러리 - IronXL 라이브러리는 Visual Studio 프로젝트에 다운로드하고 설치해야 합니다. 여러 가지 방법이 있습니다.
  • Visual Studio 사용 - NuGet 패키지 관리자를 제공하여 IronXL을 설치합니다. 도구 메뉴 또는 솔루션 탐색기를 통해 액세스할 수 있습니다. 다음 스크린샷은 IronXL을 설치하는 데 도움이 됩니다. 먼저 상단 바의 '도구'로 이동하거나 솔루션 탐색기 내에서 오른쪽 클릭하십시오.

    솔루션 탐색기

    도구 - NuGet 패키지 관리자

솔루션용 NuGet 패키지 관리를 열어 IronXL을 검색합니다. 그런 다음 '설치' 버튼만 누르면 IronXL 라이브러리가 프로젝트에 추가됩니다.

 ![IronXL 탐색](/static-assets/excel/blog/csharp-fastest-way-export-datatable-to-excel/csharp-fastest-way-export-datatable-to-excel-7.webp)
  • 개발자 명령 프롬프트 - Visual Studio 도구 메뉴나 Visual Studio 폴더에서 개발자 명령 프롬프트를 엽니다. 다음 명령을 입력하여 프로젝트에 IronXL을 다운로드하고 설치하십시오:

     PM > Install-Package IronXl.Excel
     PM > Install-Package IronXl.Excel
    SHELL
  1. 필요한 네임스페이스 추가 - DataTable을 생성하고 IronXL을 사용하려면 Program.cs 파일 상단에 두 개가 참조되어야 합니다.

    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    $vbLabelText   $csharpLabel

모든 전제 조건이 충족되면 DataTable의 데이터를 Excel 시트로 내보낼 시간입니다.

Create a DataTable in C#

다음 코드는 두 개의 열 헤더와 여러 행을 가진 새 데이터 테이블을 생성합니다:

// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
$vbLabelText   $csharpLabel

먼저 'dt'라는 새로운 DataTable을 생성합니다. 그런 다음 Columns.Add를 사용하여 데이터 테이블에 지정된 수의 열을 이름으로 추가할 수 있습니다; 예시에서는 'Animal'과 'Sound'라는 두 개의 열이 있습니다. 그런 다음 Rows.Add를 사용하여 새 행을 추가하고 각 행의 내용은 대괄호 안에 넣습니다. 내용은 각 문자열을 열별로 쉼표로 구분되어 있습니다.

Create Excel File using IronXL in C#

IronXL을 사용하여 초안부터 Excel 파일 유형을 생성할 때, 두 단계로 구성되며 C#에서 쉽게 구현할 수 있습니다. IronXL은 먼저 Excel 워크북을 생성하고, 그 후 워크시트를 추가하는 데 도움을 줍니다. 다음 샘플 코드는 워크시트와 함께 워크북을 생성하는 방법을 보여줍니다:

// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
$vbLabelText   $csharpLabel

IronXL을 사용하여 DataTable 데이터를 Excel 워크시트로 내보내기

IronXL을 활용하여 워크시트에 값을 추가하면 전체 프로세스가 간소화되며, 최소한의 코드로 작업을 수행할 수 있습니다. 이제 이전 섹션에서 생성된 DataTable의 데이터를 새로 생성된 Excel 워크시트로 내보내는 방법을 학습하겠습니다. 코드를 단계별로 살펴보겠습니다.

Excel 워크시트에 열 헤더 추가

// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
$vbLabelText   $csharpLabel

위 코드에서 Excel 시트 열 'A1'은 DataTable의 열 1에서 인덱스 0의 값을 할당받고, 다음 Excel 열 'B1' 값은 DataTable의 열 2에서 인덱스 1의 값을 할당받습니다. rowCount 변수는 DataTable의 두 번째 행부터 행을 읽는 데 사용할 값 2로 설정됩니다; 이것은 우리가 헤더 행을 세지 않도록 보장합니다.

Excel 워크시트에 행 추가

다음 코드는 DataTable에서 각 행을 읽고 이를 Excel 파일의 새 행에 할당합니다:

// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
$vbLabelText   $csharpLabel

rowCount 변수는 위 코드에서 DataTable to Excel 워크시트 셀에서 새 행이 읽힐 때마다 증가합니다.

Excel 파일 저장

마지막으로 SaveAs() 메서드를 사용하여 Excel 파일을 저장하세요.

// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
$vbLabelText   $csharpLabel

파일은 CSV(쉼표로 구분된 값), JSON, XML 등의 다른 형식으로도 저장할 수 있습니다.

// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
$vbLabelText   $csharpLabel

사용자 정의 구분자로도 저장할 수 있습니다.

산출

파일의 최종 출력은 다음과 같습니다:

DataTable을 Excel 결과물로

요약

이 기사에서는 C#에서 열과 행이 있는 DataTable을 생성한 후 IronXL을 사용하여 기본 워크시트가 있는 Excel 워크북을 생성하는 방법을 설명했습니다. 그런 다음 DataTable의 표 형식 데이터를 Excel 파일로 성공적으로 내보내어 .xlsx 형식으로 저장했습니다.

IronXL은 사용자 친화적인 C# 라이브러리로, 개발자가 MS Excel을 설치하지 않고도 Excel 파일을 원활하게 작업할 수 있게 해줍니다. CSV 파일과 같은 다양한 형식에서 데이터를 내보내어 추가 조작 및 계산을 지원합니다.

IronXL 및 그 강력한 기능 세트에 대해 자세히 알아보려면 광범위한 문서를 꼭 확인하세요. 직접 사용해보고 싶으신가요? IronXL은 모든 기능에 대한 전체 액세스가 가능한 무료 체험도 제공하므로 이 강력한 라이브러리가 어떻게 스프레드시트 프로젝트를 향상시킬 수 있는지 바로 탐험할 수 있습니다!

자주 묻는 질문

C#을 사용하여 DataTable을 Excel로 빠르게 내보내는 방법은 무엇인가요?

IronXL .NET Excel 라이브러리를 사용하면 DataTable을 Excel로 효율적으로 내보낼 수 있습니다. 이 라이브러리를 사용하면 Microsoft Office Interop 없이도 Excel 파일을 생성하고 조작할 수 있습니다.

C#에서 DataTable을 Excel로 내보내려면 어떤 도구가 필요합니까?

IronXL 사용하여 DataTable을 Excel로 내보내려면 Visual Studio가 설치되어 있어야 하고 NuGet 패키지 관리자를 통해 IronXL 라이브러리가 프로젝트에 추가되어 있어야 합니다.

C# 애플리케이션에서 DataTable을 어떻게 생성하나요?

C#에서는 새 DataTable 객체를 인스턴스화하여 DataTable을 생성합니다. 그런 다음 Columns.Add 사용하여 열을 추가하고 Rows.Add 사용하여 행을 채워 넣을 수 있습니다.

DataTable의 데이터를 Excel 파일로 내보내는 방법은 무엇입니까?

IronXL 기능을 사용하여 DataTable의 데이터를 Excel 파일로 내보내려면 각 DataTable 행을 반복하고 해당 Excel 셀에 값을 할당합니다.

.NET 라이브러리를 사용하여 Excel 파일을 여러 가지 형식으로 저장할 수 있나요?

네, IronXL 사용하면 Excel 파일을 XLSX, CSV, JSON, XML 등 다양한 형식으로 저장할 수 있으며, 사용자 지정 구분 기호도 지정할 수 있습니다.

C# 라이브러리를 사용하여 Excel 파일을 관리하려면 Microsoft Office가 필요한가요?

아니요, Microsoft Office를 설치할 필요가 없습니다. IronXL 사용하면 Microsoft Office Interop에 의존하지 않고도 Excel 파일을 프로그래밍 방식으로 관리할 수 있습니다.

.NET Excel 라이브러리를 사용하면 어떤 장점이 있나요?

IronXL Excel 파일 생성 및 편집, 수식 적용, 셀 스타일 지정, 다양한 형식으로 데이터 내보내기 등 여러 가지 이점을 제공합니다. 또한 암호 보호와 같은 보안 기능도 지원합니다.

엑셀 통합 문서를 프로그램적으로 저장하는 데에는 어떤 단계가 포함되나요?

IronXL 사용하여 Excel 통합 문서를 저장하려면 SaveAs 메서드를 사용하고 XLSX, CSV 또는 JSON과 같은 원하는 파일 형식을 선택하십시오.

.NET Excel 라이브러리의 무료 평가판이 있나요?

네, IronXL 모든 기능을 사용할 수 있는 무료 체험판을 제공하므로 개발자는 구매 전에 기능을 테스트해 볼 수 있습니다.

.NET Excel 라이브러리 사용에 대한 자세한 문서는 어디에서 찾을 수 있나요?

IronXL 에 대한 자세한 설명서(가이드 및 예제 포함)는 공식 웹사이트에서 확인할 수 있습니다.

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

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

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

Iron Support Team

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