IRONSOFTWAREHOME
IRONXL 사용하여

C#에서 데이터셋을 CSV로 변환하는 방법

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

다음 기사에서는 C# 데이터셋을 CSV 파일로 변환하는 방법을 설명합니다.

IronXL은 CSV 형식이든 엑셀 파일이든 스프레드시트 작업에 매우 적합한 솔루션입니다. IronXL은 개발에 무료이며 사용이 간편하며 모든 종류의 스프레드시트와 작업할 광범위한 기능을 제공합니다. 안전하며 높은 성능을 제공합니다. 진행하기 전에 IronXL에 대한 간단한 소개를 하겠습니다.

IronXL

IronXL은 Iron Software 라이브러리로, C# 개발자가 .NET 애플리케이션 및 웹사이트에서 엑셀 (및 기타 스프레드시트 파일)을 읽고 생성하고 편집할 수 있게 합니다.

IronXL은 C# 및 .NET에서 엑셀 및 기타 스프레드시트 파일을 다루는 빠르고 쉬운 방법을 제공합니다. IronXL은 Office Excel Interop을 필요로 하지 않으며 Microsoft Office 설치나 다른 의존성을 포함할 필요가 없습니다.

데이터셋의 CSV 파일을 만들고 작성하는 코드를 작성하는 것으로 넘어가겠습니다.

새로운 Visual Studio 프로젝트 생성하기

최신 버전의 Visual Studio를 사용하는 것이 좋지만, 선호에 따라 사용하는 건 가능하며 Visual Studio IDE를 열어보세요. 새 프로젝트를 만드는 단계는 버전에 따라 다를 수 있음을 유의하십시오.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 1: Visual Studio의 시작 창 Visual Studio의 시작 창

새 프로젝트 만들기를 클릭하세요. 아래와 같이 새 창이 나타납니다.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 2: Visual Studio에서 새 프로젝트 생성 Visual Studio에서 새 프로젝트 생성

목록에서 원하는 프로젝트 템플릿을 선택하세요. 다음 버튼을 클릭하면 아래와 같이 새 창이 열립니다.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 3: 새로 생성된 프로젝트 구성 새로 생성된 프로젝트 구성하기

프로젝트 이름, 위치를 선택하고 다음 버튼을 누르세요. 아래와 같이 새 창이 나타납니다.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 4: .NET Framework 버전 선택 .NET Framework 버전 선택

대상 .NET Framework를 선택하세요. IronXL은 모든 .NET Framework를 지원하므로 필요에 따라 선택하세요. 이 튜토리얼에서는 .NET 7을 사용할 것입니다. 생성 버튼을 클릭하면 아래와 같이 새로운 프로젝트가 생성됩니다.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 5: Visual Studio의 새 콘솔 애플리케이션 Visual Studio의 새 콘솔 애플리케이션

이 애플리케이션에서 사용하기 위해 IronXL NuGet 패키지를 설치하세요.

IronXL 설치

NuGet 패키지 관리자 콘솔을 열고 다음 명령어를 입력하세요.

PM > Install-Package IronXL.Excel

아래와 같이 NuGet 패키지가 설치되고 사용 준비가 완료됩니다.

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 6: IronXL 패키지 및 해당 패키지 종속성 설치 IronXL 패키지와 그 패키지 종속성의 설치

이제 데이터셋을 C#에서 CSV 파일로 변환하는 코드를 작성합시다.

이 예제는 SQL 서버 데이터베이스에서 데이터를 불러옵니다. SQL DB에서 데이터셋을 가져온 후, 이 입력 데이터를 사용하여 CSV 파일을 생성할 것입니다.

데이터 테이블 생성

첫 번째 단계는 SQL에서 데이터를 불러오는 것이지만, 원하는 데이터 소스를 사용할 수 있습니다.

이 튜토리얼에서는 다음 데이터를 사용합니다:

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 7: 샘플 데이터를 포함한 새 데이터베이스 생성 샘플 데이터로 새로운 데이터베이스 생성

샘플 데이터를 생성하는 SQL 스크립트는 다음과 같습니다:

USE Test_DB;

CREATE TABLE STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');
Text

다음 C# 코드는 데이터 테이블을 CSV 파일로 내보내는 데 사용됩니다.

using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}

코드 설명

  • 방법 GetData()은(는) SQL Server 데이터베이스에서 데이터를 검색하고 이를 DataTable으로 반환합니다.

  • Main 메서드에서는 IronXL을 사용하여 WorkBook을(를) 생성하고 데이터가 WorkSheet에 채워집니다.

  • foreach 루프는 DataTable의 각 행을 반복하며 각 값을 WorkSheet의 새 행에 삽입합니다.

  • 마지막으로 IronXL에서 제공하는 SaveAsCsv 함수로 CSV 파일을 저장합니다.

출력

이 프로그램으로 생성된 CSV 파일은 다음과 같습니다:

C#에서 데이터 세트를 CSV로 변환하는 방법, 그림 8: CSV 출력 파일 CSV 출력 파일

CSV 파일이 제대로 생성되어 제공된 입력과 일치함이 명확합니다.

요약

이 글에서는 C#에서 데이터셋으로 CSV 파일을 생성하는 방법을 설명했습니다. 이 라이브러리는 C#을 사용하여 CSV 파일을 읽을 수도 있습니다. SQL Server 데이터베이스에서의 데이터셋은 세 단계로 구성되어 CSV 파일을 생성합니다:

  1. SQL Server에서 데이터 가져오기.
  2. 데이터를 데이터 테이블에 채우기.
  3. 그 데이터 테이블에서 CSV 파일 생성.

이처럼 IronXL을 사용하여 .NET 7에서 CSV 파일을 생성하는 것은 매우 쉽습니다. 프로그램의 성능은 .NET 7과 IronXL로 작성되어 예외적입니다. IronXL은 엑셀 파일 생성, 읽기 및 조작과 같은 다른 유용한 기능도 제공합니다. 자세한 내용은 공식 문서를 참조하십시오.

추가적으로, IronPDF는 개발자들에게 PDF 문서를 이미지로 렌더링하고 PDF에서 텍스트와 콘텐츠를 추출할 수 있는 방법을 제공합니다. 또한, IronPDF는 PDF에서 차트를 렌더링, 바코드를 추가, 비밀번호로 보안을 강화할 수 있습니다.

IronXL의 무료 버전은 개발 목적으로 사용됩니다. 운영 환경에서 응용 프로그램을 배포하려면 무료 체험판 또는 상업용 라이선스를 구입하세요. IronXL은 Iron Suite의 일부로, 다섯 개의 라이브러리로 구성되어 있습니다:

  1. 오늘 탐구할 IronXL.
  2. PDF 파일 생성, 읽기 및 조작을 위한 IronPDF
  3. 이미지에서 텍스트를 추출하기 위한 IronOCR
  4. 바코드를 읽고 생성하기 위한 IronBarcode
  5. 웹사이트에서 구조화된 데이터를 추출하기 위한 IronWebScraper.

이 제품들을 모두 함께 구매하면 두 개 가격으로 얻을 수 있습니다.

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