C#을 사용하여 CSV 파일 읽기 (코드 예제 튜토리얼)
이 튜토리얼은 추가 인터롭제 설치 없이 IronXL C# 라이브러리를 사용하여 매우 효율적이고 효과적인 방식으로 CSV 파일을 읽는 방법을 시연합니다.
C#에서 CSV 파일을 한 줄씩 읽는 방법
- 라인별로 CSV 파일을 읽기 위한 C# 라이브러리 설치
- 고급
LoadCSV메소드를 활용하여 CSV 파일 읽기 - 존재하지 않는 파일을 로드할 때 C#에서
Exists메서드를 사용하여 처리하기 - CSV 데이터를 데이터베이스로 변환하려면
ToDataTable메서드를 사용하세요 SaveAs메서드를 사용하여 Excel 파일을 내보내면 CSV 데이터가 자동으로 Excel로 변환됩니다
How to read CSV Files in C
MVC, ASP.NET 또는 .NET Core에서 CSV 파일을 읽기 전에 먼저 IronXL을 설치해야 합니다. 여기에는 프로세스의 기본 개요가 있습니다.
Visual Studio에서 Project 메뉴를 선택하고, NuGet 패키지 관리로 가서 IronXL.Excel를 검색한 후 설치하십시오.
NuGet 패키지 관리자에서 IronXL 패키지를 설치합니다
IronXL은 C#에서 CSV 파일을 읽어야 할 때 사용하기에 훌륭한 도구입니다. 아래의 코드 예제는 CSV 파일을 쉼표나 다른 구분자를 사용하여 읽을 수 있음을 보여줍니다.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
이 튜토리얼을 위한 CSV 데이터
WorkBook 객체가 생성됩니다. 그런 다음 WorkBook 객체의 LoadCSV 메소드를 사용하여 읽고자 하는 CSV 파일의 이름, 형식 및 사용된 구분자를 나타내며, 이는 문자열 배열로 저장됩니다. 이 시나리오에서 쉼표가 구분자로 사용됩니다.
그 후에, WorkSheet 객체가 생성됩니다; 여기에 CSV 파일의 내용이 저장됩니다. 파일은 그런 다음 새 형식으로 이름을 바꾸어 저장됩니다. CSV 파일 데이터는 그런 다음 워크시트에 표 형식으로 배치됩니다. 출력은 다음과 같이 보이게 됩니다:
Excel 파일로 변환된 데이터
CSV parsing in C# .NET
CSV는 필드 내 줄 바꿈 처리 및 필드가 인용 부호로 감싸질 수 있는 방식에 몇 가지 문제가 있어 단순 문자열 분할 기법이 작동하지 않습니다 Split("'"). 대신, IronXL은 LoadCSV 메소드의 선택적 매개변수를 사용하여 구분자를 사용자 정의할 수 있으며, 자세한 사항은 LoadCSV의 API 문서를 확인하십시오.
C# Records — Reading CSV Data
아래 예제에서는 foreach 루프를 사용하여 CSV 파일의 행을 반복 탐색하고, 콘솔을 사용하여 데이터를 기록합니다.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
CSV 파일에서 데이터를 가져와 Console에 표시하는 방법
CSV 파일 문자열 라인을 Excel 형식으로 변환
절차는 간단합니다: CSV 파일을 로드하고 Excel 파일로 저장하세요.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")
IronXL을 사용하여 변환된 CSV 파일 읽고 조작하기
IronXL의 WorkBook 클래스는 Excel 시트를 나타내며 C#에서 Excel 파일을 열기 위해 이 클래스를 사용합니다. 아래의 코드 예제는 원하는 Excel 파일을 WorkBook 객체에 로드할 것입니다:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
WorkSheet 객체는 여러 WorkBooks에서 찾을 수 있습니다. 이들은 엑셀 문서의 워크시트입니다. 워크북에 워크시트가 있는 경우 다음을 통해 이름으로 가져올 수 있습니다:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
셀 값을 읽는 코드:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
다음 코드 샘플은 워크북 및 워크시트를 로드하고 읽은 후 공식 업데이트 또는 특정 셀에 적용하는 방법을 보여줍니다. 다음은 코드입니다:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets
workbook.EvaluateAll()
결론 및 IronXL 특별 제공
IronXL은 C#에서 CSV 처리를 수행하는 것 외에도 CSV를 Excel로 두 줄의 코드만 사용하여 변환합니다.
Interop을 필요로 하지 않으면서 IronXL의 Excel API를 사용하는 것은 매우 쉽습니다. 게다가 IronXL은 Excel WorkBook, WorkSheet 및 셀 수준에서 인기 형식 간 변환, 셀 데이터 포맷팅, 셀 병합, 수학 함수 삽입 심지어 차트를 관리하고 이미지 추가 등의 다양한 기능을 제공합니다.
IronXL 체험판 라이센스 키를 사용하여 워터마크 없이 시작할 수 있습니다.
라이선스는 $999부터 시작하며, 1년간 무료 지원과 업데이트가 포함됩니다.
IronPDF, IronXL, IronOCR, IronBarcode, 그리고 IronWebScraper는 모두 Iron Software Suite의 일부입니다. Iron Software는 전체 패키지를 할인된 가격에 구입할 수 있게 합니다. 이러한 모든 도구를 두 개의 가격으로 사용할 수 있습니다.
이것은 탐험할 만한 옵션입니다.
자주 묻는 질문
C#에서 CSV 파일을 어떻게 읽을 수 있나요?
C#에서 IronXL 라이브러리의 LoadCSV 메서드를 사용하면 CSV 파일을 읽을 수 있습니다. 이 메서드를 사용하면 CSV 데이터를 WorkBook 객체로 로드하여 추가 작업을 수행할 수 있습니다.
C#에서 CSV 데이터를 Excel 형식으로 변환하는 가장 좋은 방법은 무엇일까요?
C#에서 CSV 데이터를 Excel 형식으로 변환하는 가장 좋은 방법은 IronXL 사용하는 것입니다. CSV 파일을 WorkBook 객체에 로드하고 SaveAs 메서드를 사용하여 Excel 파일로 저장하면 됩니다.
C# 라이브러리를 사용하여 사용자 지정 구분 기호가 포함된 CSV 파일을 처리하는 방법은 무엇입니까?
IronXL 사용하면 LoadCSV 메서드의 선택적 매개변수로 구분 기호를 지정하여 사용자 지정 구분 기호가 있는 CSV 파일을 처리할 수 있습니다.
C#에서 CSV 데이터를 데이터베이스 형식으로 직접 변환할 수 있나요?
네, IronXL 의 ToDataTable 메서드를 사용하면 CSV 데이터를 데이터베이스 형식으로 변환할 수 있습니다. 이 메서드는 데이터를 데이터베이스 작업에 적합한 DataTable 객체로 변환합니다.
C#을 사용하여 존재하지 않는 CSV 파일을 확인하는 데 사용할 수 있는 방법에는 어떤 것들이 있습니까?
C#에서는 IronXL의 Exists 메서드를 사용하여 CSV 파일을 로드하기 전에 파일이 존재하는지 확인할 수 있으므로 파일이 존재하지 않아 발생하는 오류를 방지할 수 있습니다.
C#에서 CSV 파일을 Excel 파일로 변환한 후, 해당 데이터를 어떻게 조작할 수 있을까요?
C#에서 CSV 파일을 Excel 파일로 변환한 후에는 IronXL의 다양한 기능을 사용하여 서식 지정, 셀 병합, 수학 함수 삽입, 차트 또는 이미지 추가 등의 작업을 통해 데이터를 조작할 수 있습니다.
IronXL C#에서 CSV 파일을 읽고 변환하는 데 어떤 이점을 제공합니까?
IronXL 간편한 설치, 추가적인 상호 운용성 요구 사항 불필요, 사용자 지정 구분 기호 지원, Excel 내에서 CSV 데이터를 변환하고 조작하는 강력한 기능 등의 장점을 제공합니다.
C#에서 CSV 데이터의 특수 문자를 어떻게 처리할 수 있을까요?
IronXL CSV 파일을 불러올 때 파일 인코딩과 구분 기호를 지정할 수 있도록 하여 CSV 데이터의 특수 문자를 처리할 수 있으므로 데이터의 무결성과 정확성을 보장합니다.
IronXL 사용자를 위한 지원은 무엇이 있나요?
IronXL 라이선스에는 1년간 무료 지원 및 업데이트가 포함되어 있어, 필요한 지원을 제공하고 최신 기능 및 수정 사항을 사용할 수 있도록 보장합니다.




