IRONSOFTWAREHOME
IRONXL 사용하여

C# CSV를 XLSX로 변환: CSV 파일을 Excel 형식으로 변환

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

CSV 파일을 XLSX 형식으로 변환하면 쉼표로 구분된 값 파일이 제공하지 못하는 스프레드시트 기능을 사용할 수 있습니다. CSV는 원시 표 형식 데이터를 저장하는 반면, Excel의 XLSX 형식은 수식, 여러 워크시트, 차트, 셀 서식 및 데이터 유효성 검사와 같은 현대 비즈니스 애플리케이션에서 요구하는 기능을 지원합니다. 적절한 라이브러리를 사용하면 변환 프로세스는 간단하며 C# 코드 몇 줄만으로 수행됩니다.

IronXL은 이 변환을 직접 처리하는 .NET 라이브러리로 Microsoft Office나 Open XML SDK를 필요로 하지 않습니다. 소스 CSV 파일을 읽고 구분된 데이터를 파싱하여 완전한 호환성을 갖춘 XLSX 워크북을 작성합니다. NuGet을 통해 설치하고 아래 코드 샘플에 따라 무료 체험을 시작하세요.

CSV 파일을 XLSX 형식으로 C#에서 어떻게 변환합니까?

핵심 변환은 CSV 파일을 로드하고 Excel 형식으로 저장하는 것입니다. IronXL은 WorkBook.LoadCSV을 제공하여 구분된 소스를 파싱하고 내보낼 준비가 된 통합 문서를 생성합니다. 해당 메서드는 파일 경로, 대상 Excel 형식 및 구분 문자 문자를 수용합니다.

using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");

산출

C# CSV to XLSX: A Complete Developer Guide: Image 1 - CSV를 Excel로 변환한 예제 출력

LoadCSV 메서드는 세 가지 주요 매개변수를 허용합니다: 파일 이름, 대상 Excel 형식 상수, 소스 파일에서 사용된 목록 구분자. 이 접근 방식은 원본 CSV 시트의 모든 문자열 데이터와 숫자 값을 보존하면서 적절히 구조화된 XLSX 파일을 생성합니다. WorkBook 클래스는 모든 스프레드시트 작업의 중심 허브로 작동합니다. 일단 로드되면, CSV 데이터는 워크시트를 통해 접근 가능하게 되어 최종 Excel 파일을 저장하기 전에 추가 변형이 가능합니다.

CSV 대신 기존 XLSX 파일을 로드하려면 파일 확장자로부터 형식을 자동 감지하는 WorkBook.Load("file.xlsx")을 사용하십시오. 이를 통해 CSV 또는 Excel 입력을 수용하고 단일 출력 형식으로 표준화하는 파이프라인을 쉽게 구축할 수 있습니다.

CSV를 Excel 형식으로 변환하는 장점은?

XLSX 형식은 대부분의 데이터 관리 시나리오에서 평범한 CSV에 비해 측정 가능한 장점을 제공합니다:

  • 여러 워크시트: Excel 파일은 하나의 워크북 내에서 여러 시트를 지원하여 CSV 파일이 제공할 수 없는 조직된 데이터 저장을 가능하게 합니다. 하나의 XLSX 파일은 여러 기간, 지역, 또는 범주를 포함하는 수십 개의 워크시트를 포함할 수 있습니다.
  • 수식 지원: 복잡한 계산, 집계 및 조건부 로직을 셀에 직접 작성합니다. 엑셀 수식은 원본 데이터가 변경될 때 자동으로 재계산되어 CSV 파일을 수동으로 다시 처리할 필요가 없습니다.
  • 시각 차트: 워크시트 데이터에서 막대 차트, 선 차트, 원형 차트 및 기타 시각화 도구를 만듭니다. IronXL은 직접 API를 통해 차트 작성을 지원하므로 차트가 XLSX 파일에 포함됩니다.
  • 셀 서식: 전문 문서를 위해 글꼴, 색상, 테두리, 숫자 형식을 제어합니다. CSV 파일은 원시 값만 저장합니다; XLSX는 데이터와 함께 디스플레이 계층을 보존합니다.
  • 데이터 유효성 검사: 엔드 유저가 공유하는 파일에서 데이터 입력 오류를 방지하기 위해 특정 값 또는 범위로 셀 입력을 제한합니다.
  • 비밀번호 보호: 읽기 및 쓰기 접근을 제어하기 위해 비밀번호로 워크시트와 워크북을 보호합니다. 이 기능은 CSV에서는 전혀 제공되지 않습니다.

이러한 기능은 리포트, 대시보드, 재무 모델 및 원시 데이터 저장만 이상의 응용 프로그램의 표준 선택으로 XLSX 형식을 만듭니다.

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

IronXL은 NuGet 패키지로 배포됩니다. Visual Studio의 패키지 관리자 콘솔에서 설치하세요:

PM > Install-Package IronXL.Excel

또는 .NET CLI를 사용하여 다음과 같이 할 수 있습니다.

dotnet add package IronXL.Excel

설치 후 스프레드시트와 작업하는 모든 파일에 using IronXL;을 추가하십시오. 이 패키지는 .NET Framework 4.6.2+, .NET Core 3.1+, .NET 5부터 .NET 10까지를 대상으로 하며 Windows, Linux, macOS, Docker 및 Azure 배포 환경을 지원합니다.

추가 런타임 종속성이나 Microsoft Office 설치가 필요하지 않습니다. IronXL은 자체 파서 및 작성자를 사용하여 XLSX 파일을 읽고 쓰므로 Office를 설치할 수 없는 서버 측 및 헤드리스 배포에 적합합니다.

변환 중 CSV 인코딩을 어떻게 처리합니까?

많은 CSV 파일은 비ASCII 문자를 사용하는 레거시 시스템, 국제 데이터베이스 또는 타사 내보내기에서 유래합니다. 정확한 인코딩 처리는 결과 XLSX 파일에 특수 문자 및 국제 텍스트가 온전하게 유지되도록 보장합니다.

using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");

출력 XLSX 파일

C# CSV to XLSX: A Complete Developer Guide: Image 2 - 인코딩이 모두 처리된 CSV to XLSX

IronXL은 대부분의 표준 CSV 파일에 대한 UTF-8을 포함한 공통 인코딩 형식을 자동으로 감지합니다. Windows-1252, ISO-8859-1, Shift-JIS 같은 비표준 인코딩을 사용하는 파일의 경우 System.Text.Encoding 인스턴스를 LoadCSV 호출에 전달하십시오. Microsoft Learn의 인코딩 클래스 문서는 지원하는 모든 인코딩 이름을 나열합니다.

원격 서버에서 CSV 데이터를 가져올 때는 HttpClient을 사용하여 스트림을 다운로드하고 임시 파일로 저장한 다음 LoadCSV을 통해 로드하십시오. 이 패턴은 타사 API의 HTTP 응답으로 CSV 파일을 받는 클라우드 호스팅 .NET 응용 프로그램에서 작동합니다.

CSV 변환 후 셀 서식을 어떻게 적용합니까?

원시 CSV 데이터는 서식 정보를 제공하지 않습니다. XLSX로 변환한 후 숫자 형식, 글꼴 및 배경 색상을 적용하여 스프레드시트가 읽기 쉽고 전문적으로 보이도록 합니다.

using IronXL;
using IronXL.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");

IronXL은 Excel UI에서 사용할 수 있는 서식 옵션을 반영하는 Style 속성을 통해 셀 및 범위 스타일을 노출합니다. 숫자 형식은 Microsoft가 문서화한 Excel 숫자 형식 구문을 따릅니다. SetBackgroundColor 메서드는 16진수 색상 문자열을 허용하므로 생성된 보고서에 브랜드 색상을 쉽게 적용할 수 있습니다. 사용 가능한 스타일 속성을 위한 전체 셀 서식 API 참조를 확인하세요.

CSV 데이터 변환 후 차트를 어떻게 추가합니까?

CSV 데이터가 Excel 워크북에 있는 경우, IronXL은 해당 데이터에서 직접 차트를 만드는 기능을 제공합니다. 차트는 서버에 Microsoft Excel을 설치할 필요 없이 원시 숫자를 시각적 통찰로 전환합니다.

using IronXL;
using IronXL.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");

산출

C# CSV to XLSX: A Complete Developer Guide: Image 3 - 차트가 포함된 Excel 파일로 CSV 파일 변환 출력

CreateChart 메서드는 차트 유형과 네 가지 위치 매개변수(상단 행, 왼쪽 열, 하단 행, 오른쪽 열)를 허용합니다. AddSeries 메서드는 워크시트 셀 범위를 차트 축에 연결하여 기본 데이터가 변경될 때 업데이트되는 동적 시각화를 생성합니다. IronXL은 ChartType enum을 통해 열, 막대, 선, 영역 및 파이 차트 유형을 지원합니다. 지원하는 차트 구성의 전체 목록은 IronXL 차트 튜토리얼을 참조하세요.

CSV를 데이터 테이블로 변환한 다음 Excel로 변환하려면 어떻게 해야 합니까?

내보내기 전에 데이터 조작이 필요한 시나리오의 경우 DataTable을 통해 CSV 데이터를 변환하면 최대의 유연성을 제공합니다. 이 접근 방식은 개발자가 표준 .NET 데이터 접근 패턴을 사용하여 변환 과정 중에 행을 필터링, 변환, 정렬 또는 검증할 수 있도록 합니다.

using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");

산출

C# CSV to XLSX: A Complete Developer Guide: Image 4 - CSV to DataTable to XLSX output

ToDataTable 메서드는 워크시트 데이터를 .NET DataTable로 내보내며, 첫 번째 행을 열 헤더로 간주할지 여부를 부울 매개변수로 제어합니다. LoadFromDataTable은 데이터를 다시 가져오며, 두 번째 매개변수가 true일 때 열 헤더를 첫 번째 행으로 기록합니다. 이 양방향 변환은 CSV 수집 및 Excel 출력 간에 LINQ 및 ADO.NET 연산의 완전한 사용을 가능하게 합니다. IronXL DataTable 문서를 검토하여 추가 옵션을 확인하세요.

XLSX 파일을 파일 경로 대신 스트림에 저장하려면 어떻게 해야 합니까?

서버 측 애플리케이션은 임시 파일을 디스크에 작성하지 않고 HTTP 응답에 직접 Excel 파일을 전달해야 하는 경우가 많습니다. IronXL은 이를 위해 MemoryStream에 워크북을 저장하는 것을 지원합니다.

using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");

스트림에 저장하면 디스크 읽기/쓰기 작업을 피할 수 있으며, 임시 파일 정리가 필요하지 않습니다. 이 패턴은 ASP.NET Core 파일 다운로드 엔드포인트에서 널리 사용되며, 여기서 XLSX는 요청 시 생성됩니다. SaveAs(Stream) 오버로드는 쓰기 가능한 모든 스트림 인스턴스에 완전하고 유효한 XLSX 아카이브를 씁니다.

변환된 워크북에서 여러 워크시트를 어떻게 작업하나요?

단일 XLSX 워크북은 여러 워크시트를 포함할 수 있습니다. CSV 파일을 변환한 후, 워크북은 기본적으로 하나의 시트를 유지합니다. 관련 데이터를 구성하기 위해 프로그래밍적으로 추가 시트를 생성할 수 있습니다.

using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");

CreateWorkSheet 메서드는 통합 문서에 새 빈 시트를 추가합니다. 시트는 이름이나 인덱스로 workbook.WorkSheets를 통해 접근할 수 있습니다. 교차 시트 수식 참조는 표준 Excel 표기법 'SheetName'!CellRef을 사용합니다. IronXL 다중 워크시트 안내서에서 다중 시트 작업에 대한 자세한 정보를 확인하세요.

다음 단계는 무엇입니까?

C#에서 IronXL로 CSV 파일을 XLSX로 변환하는 것은 몇 줄의 코드로 충분하며, 마이크로소프트 오피스에 의존하지 않고도 완전한 Excel 워크북을 생성할 수 있습니다. 위의 예제는 기본 CSV 로딩 및 저장에서 인코딩 처리, 셀 서식 지정, 차트 생성, DataTable 통합, 스트림 출력 및 다중 시트 워크북까지의 전체 워크플로우를 다룹니다.

이 가이드에서 다루는 주요 기능:

  • 기본 CSV to XLSX 변환은 WorkBook.LoadCSVSaveAs을(를) 사용합니다.
  • 국제 문자 세트를 위한 인코딩 사양
  • 변환 후 적용되는 셀 및 범위 서식
  • XLSX 파일에 직접 삽입되는 차트 생성
  • 필터링 및 변환된 데이터에 대한 DataTable 왕복
  • 서버 측 파일 전송을 위한 MemoryStream 출력
  • 단일 CSV 소스에서 다중 시트 워크북 구성

IronXL은 .NET Framework, .NET Core 및 .NET 5에서 10까지를 아우르며 Windows, Linux, macOS, Docker 및 Azure 배포를 지원합니다. 더 많은 기능을 탐색하려면, IronXL 문서, Excel API 개체 참조를 살펴보거나 IronXL 사용 가이드에서 Excel 파일 읽기, 셀 병합수식 적용과 같은 주제를 확인하세요. 무료 체험판 다운로드하여 개발 환경에서 모든 기능을 테스트하거나, 라이선스 구매를 통해 프로덕션 배포에 사용하세요.

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