C#에서 xlsx 파일을 CSV, JSON, XML로 변환하는 방법
IronXL은 xlsx 파일을 포함한 Excel 파일을 JSON, CSV, XML 및 이전 Excel 형식 등 다양한 형식으로 변환합니다. 간단한 한 줄 명령어로 수동 파싱 없이 스프레드시트 만들기 및 변환 작업을 처리합니다.
IronXL은 어떤 Excel 파일도 다양한 형식으로 변환하고, 개발자가 Interop 없이 C#에서 Excel을 사용할 수 있는 도구를 제공합니다. 시스템 간 데이터 마이그레이션, 웹 애플리케이션의 데이터 내보내기 생성 또는 레거시 시스템과의 통합에 관계없이 IronXL은 변환 프로세스를 단순화합니다.
이러한 형식에는 현대 웹 API를 위한 JSON, 데이터 교환을 위한 CSV, 구조적 데이터 저장을 위한 XML, 이전 Excel 형식과의 하위 호환성을 위한 XLS가 포함됩니다. 각 형식은 특정 사용 사례를 지원합니다 — CSV는 데이터베이스 가져오기에 잘 맞고, JSON은 REST API와 통합되고, XML은 계층 데이터 관계를 유지합니다.
이 문서는 IronXL을 사용하여 XML, CSV, JSON으로 변환하고 .NET 데이터 제어와 직접 통합하기 위한 데이터셋으로 Excel 워크시트를 내보내는 방법을 보여줍니다.
빠른 시작: 한 줄로 XLSX 파일을 CSV로 변환
이 예는 IronXL이 기존 Excel 워크북을 한 줄로 CSV 파일로 변환하는 방법을 보여줍니다. 워크북을 로드하고 즉시 작업을 시작하려면 CSV로 직접 저장하세요.
- XLSX를 CSV로 변환하기 위한 C# 라이브러리 다운로드
- 기존 XLSX Excel 스프레드시트를 불러오기
- 워크북에 접근하거나 수정하기
- JSON, TSV 및 XML을 포함한 여러 형식으로 CSV 파일로 내보내기
- 출력 파일을 확인하고 추가 처리를 적용하기
1단계
IronXL 라이브러리를 설치하는 방법은 무엇입니까?
먼저 애플리케이션에서 IronXL을 사용하기 전에 설치하세요. IronXL은 .NET MAUI, Blazor 및 전통적인 .NET 애플리케이션을 지원합니다. 이 설치 방법 중 하나를 사용하세요:
다운로드: https://ironsoftware.com/csharp/excel/docs/
또는 NuGet 패키지 관리자를 사용하세요:
- 솔루션 탐색기에서 솔루션 이름을 마우스 오른쪽 버튼으로 클릭
- NuGet 패키지 관리 클릭
- IronXL.Excel 찾아보기
- 설치
Install-Package IronXL.Excel
튜토리얼 사용법
Excel 파일을 다양한 형식으로 변환할 수 있는 방법은 무엇인가요?
IronXL은 복잡한 파싱과 포맷을 자동으로 처리하는 변환 기능을 제공합니다.
다음 코드를 추가하세요:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");
// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";
// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");
// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL
' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")
' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"
' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")
' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
위의 코드는 XLSX 파일을 로드하고 제목을 추가한 다음 여러 형식으로 변환합니다. CSV로 변환할 때, IronXL은 특수 문자, 여러 줄 셀, 올바른 이스케이프 처리를 처리합니다. JSON 내보내기에 대해, 스프레드시트 데이터의 구조적 객체 표현을 생성합니다. XML 변환은 셀 포맷과 데이터 타입을 유지합니다. 마지막으로, 워크시트를 DataSet으로 내보내 DataGridView 객체와 함께 사용할 수 있으며, 이는 DataTable과 작업할 때 유용합니다.
여기에서는 맞춤 옵션으로 특정 워크시트를 변환하는 또 다른 예를 보여줍니다:
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
.PreserveFormatting = True,
.IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)
' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
고급 시나리오를 위해, 여러 형식으로 동시에 내보내거나 큰 파일을 효율적으로 처리할 수 있습니다:
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks
' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
Dim workbook As WorkBook = WorkBook.Load(inputPath)
' Parallel export to multiple formats
Dim tasks = New Task() {
Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
Task.Run(Sub() workbook.SaveAsJson("output.json")),
Task.Run(Sub() workbook.SaveAsXml("output.xml"))
}
Await Task.WhenAll(tasks)
End Function
아래에는 다양한 내보낸 파일들이 표시됩니다.
각 변환 형식은 현대 애플리케이션에서 다양한 목적을 제공합니다. CSV 파일은 데이터베이스로 데이터를 가져오거나 데이터 분석 도구에 적합합니다. JSON 형식은 웹 API 및 JavaScript 애플리케이션에 적합합니다. XML은 데이터 구조를 유지하며, 주로 기업 시스템에서 사용됩니다. 레거시 XLS 형식은 이전 Excel 버전 및 하위 호환이 필요한 시스템과의 호환성을 보장합니다.
이 변환 작업을 수행할 때 IronXL은 많은 복잡성을 자동으로 처리합니다:
- 문자 인코딩: 국제 문자를 위한 적절한 UTF-8 인코딩
- 데이터 유형 보존: 숫자, 날짜 및 텍스트 형식 유지
- 수식 평가: 내보내기 전에 수식 결과를 계산
- 대용량 파일 처리: 큰 스프레드시트를 위한 효율적인 메모리 사용
- 오류 처리: 손상되거나 보호된 파일을 우아하게 처리
높은 성능을 요구하거나 파일 크기 제한을 처리해야 하는 애플리케이션의 경우 IronXL은 최적화 옵션을 제공합니다. 이 변환 작업을 자동화된 워크플로우, 웹 서비스 또는 데스크톱 애플리케이션에 통합할 수 있습니다.
라이브러리 바로가기
카드를 병합하고 병합을 해제하는 방법 및 Excel 스프레드시트에서 셀을 다루는 방법을 IronXL API 참조 문서를 통해 배우고 공유하세요.
IronXL API 참조 문서자주 묻는 질문
Excel이 설치되어 있지 않은 C# 환경에서 XLSX 파일을 CSV 파일로 변환하는 방법은 무엇인가요?
IronXL을 사용하면 단 한 줄의 코드로 XLSX 파일을 CSV 파일로 변환할 수 있습니다. 코드 예시는 다음과 같습니다: IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv"). 이 기능은 시스템에 Microsoft Excel이나 Interop이 설치되어 있지 않아도 작동합니다.
C#을 사용하여 Excel 파일을 어떤 파일 형식으로 변환할 수 있나요?
IronXL은 Excel 파일을 CSV, JSON, XML, TSV 및 XLS와 같은 이전 Excel 형식을 포함한 다양한 형식으로 변환하는 기능을 지원합니다. 각 형식은 사용 사례에 따라 적합한데, CSV는 데이터베이스 가져오기에, JSON은 REST API에, XML은 계층적 데이터 구조 유지에 사용됩니다.
C#용 Excel 변환 라이브러리를 어떻게 설치하나요?
NuGet 패키지 관리자에서 'IronXL.Excel'을 검색하거나 패키지 관리자 콘솔에서 'Install-Package IronXL' 명령을 사용하여 IronXL을 설치하세요. 이 라이브러리는 .NET MAUI, Blazor 및 기존 .NET 애플리케이션을 지원합니다.
엑셀 파일을 웹 API에서 사용할 수 있도록 JSON 형식으로 변환할 수 있나요?
네, IronXL은 Excel 데이터를 JSON 형식으로 변환하는 기능을 내장하고 있어 Excel 데이터를 최신 웹 API 및 REST 서비스와 쉽게 통합할 수 있습니다. 변환 과정에서 복잡한 데이터 구조도 자동으로 처리합니다.
엑셀 변환 시 특수 문자 및 서식이 제대로 처리되나요?
IronXL은 Excel 파일을 CSV와 같은 형식으로 변환할 때 특수 문자, 여러 줄로 된 셀, 그리고 적절한 이스케이프 처리를 자동으로 수행합니다. 따라서 수동으로 구문 분석하거나 서식을 수정할 필요가 없습니다.

