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

C# CSV 파일 리더: IronXL 사용하여 CSV 데이터를 구문 분석하고 처리합니다.

CSV (쉼표로 분리된 값) 파일은 금융 보고서에서부터 고객 데이터 내보내기까지 비즈니스 응용 프로그램 전반에 걸쳐 존재합니다. CSV 형식은 표면상 간단해 보이지만, 이를 운영 코드에서 구문 분석하는 것은 인용된 필드, 여러 구분 기호, 내장 줄 바꿈 및 원시 텍스트를 강력한 유형의 .NET 객체로 변환해야 하는 경우를 다루면서 빠르게 어려워질 수 있습니다. IronXL은 CSV 데이터를 최소한의 코드로 Excel, XML 또는 기타 형식으로 변환할 수 있는 Enterprise 준비 CSV 처리 기능을 제공하는 .NET 라이브러리입니다.

이 가이드는 IronXL이 C# CSV 파일 리더로서 어떻게 작동하는지와 .NET 10 애플리케이션에 구현할 수 있는 방법을 안내합니다. IronXL을 스스로 체험해보고, 무료 체험판 라이선스를 사용하여 CSV 및 Excel 작업을 처리하는 방법을 배워보세요.

CSV 읽기를 위한 IronXL은 어떻게 설치하나요?

IronXL을 프로젝트에 포함시키는 데는 잠시밖에 걸리지 않습니다. Visual Studio의 NuGet 패키지 관리자나, .NET CLI 또는 PowerShell에서 NuGet 패키지 관리자 콘솔을 통해 명령줄로 설치할 수 있습니다. 두 방법 모두 동일한 패키지를 설치하며, 모든 .NET 10 프로젝트 유형과 호환됩니다.

# .NET CLI
dotnet add package IronXl.Excel

# NuGet Package Manager Console
Install-Package IronXl.Excel
# .NET CLI
dotnet add package IronXl.Excel

# NuGet Package Manager Console
Install-Package IronXl.Excel
SHELL

설치 옵션 및 구성에 대한 자세한 내용은 IronXL 설치 문서를 참조하세요.

설치가 완료되면, 첫 번째 CSV 파일을 읽는 것은 매우 적은 코드만이 필요합니다. 아래 예제는 .NET 10 최고 수준의 문장을 사용합니다:

using IronXL;

// Load CSV file
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a specific cell
string cellValue = sheet["A1"].StringValue;

// Iterate through all rows and cells
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.StringValue);
    }
}
using IronXL;

// Load CSV file
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a specific cell
string cellValue = sheet["A1"].StringValue;

// Iterate through all rows and cells
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.StringValue);
    }
}
$vbLabelText   $csharpLabel

해당 WorkBook.LoadCSV 메서드는 헤더 식별을 처리하고, 내부 데이터 구조를 생성하며, 메모리 효율적인 구문 분석을 수행하여 코드의 첫 줄부터 데이터 관리를 단순화합니다.

C# CSV 파일 리더 튜토리얼: IronXL로 CSV 데이터 구문 분석 및 변환: 이미지 1 - IronXL NuGet 설치

사용자 정의 구분 기호로 CSV 파일을 읽으려면 어떻게 하나요?

실제로 CSV 파일은 항상 쉼표를 사용하지 않습니다. 세미콜론, 파이프, 탭이 일반적인 대안이며, 특히 쉼표가 소수점 구분자로 사용되는 국제 데이터셋에서 많이 사용됩니다. IronXL은 유연한 로드 옵션을 통해 모든 구분 기호를 처리합니다.

using IronXL;

// Load CSV with semicolon delimiter (common in European data exports)
WorkBook workbook = WorkBook.LoadCSV("european-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: ";");

// Load tab-separated values (TSV)
WorkBook tsvWorkbook = WorkBook.LoadCSV("export_data.tsv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: "\t");

// Load pipe-delimited file
WorkBook pipeWorkbook = WorkBook.LoadCSV("log_export.csv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: "|");

// Access data normally after loading
WorkSheet sheet = workbook.DefaultWorkSheet;
decimal totalSales = sheet["B2:B10"].Sum();

Console.WriteLine($"Total sales: {totalSales}");
using IronXL;

// Load CSV with semicolon delimiter (common in European data exports)
WorkBook workbook = WorkBook.LoadCSV("european-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: ";");

// Load tab-separated values (TSV)
WorkBook tsvWorkbook = WorkBook.LoadCSV("export_data.tsv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: "\t");

// Load pipe-delimited file
WorkBook pipeWorkbook = WorkBook.LoadCSV("log_export.csv",
    fileFormat: ExcelFileFormat.XLSX,
    list구분 기호: "|");

// Access data normally after loading
WorkSheet sheet = workbook.DefaultWorkSheet;
decimal totalSales = sheet["B2:B10"].Sum();

Console.WriteLine($"Total sales: {totalSales}");
$vbLabelText   $csharpLabel

list구분 기호 매개변수는 모든 문자열을 허용하여 구문 분석 동작을 완벽하게 제어할 수 있습니다. IronXL은 구문 분석 중에 열 값과 데이터 유형을 보존합니다. -- 숫자 값은 숫자로 남고, 날짜는 DateTime 객체로 유지되며, 수식은 그 관계를 유지합니다.

형식이 일치하지 않는 파일의 경우, IronXL의 오류 처리는 잘못된 행을 응용 프로그램을 충돌시키지 않고 관리하여, 개별 행이 문제가 있더라도 유효한 데이터는 계속 처리됩니다.

C# CSV 파일 리더 튜토리얼: IronXL로 CSV 데이터 구문 분석 및 변환: 이미지 2 - 시작 샘플 출력

지원되는 파일 형식 및 구분 기호

IronXL은 CSV 파일을 읽을 때 다음과 같은 구분 기호 유형을 지원합니다:

IronXL의 LoadCSV 메서드가 지원하는 일반적 구분 기호 유형
구분 기호 성격 일반적 사용 사례
쉼표 `,` 표준 CSV, 미국 로케일 내보내기
세미콜론 `;` 유럽 로케일 내보내기 (쉼표가 소수점 구분자인 경우)
` ` 탭 구분 값 (TSV), 데이터베이스 내보내기
파이프 `|` 로그 파일, 시스템 내보내기
사용자 정의 문자열 어떤 독점 데이터 형식, 다중 문자 구분 기호

CSV 데이터를 C# 객체로 해석하려면 어떻게 하나요?

CSV 행을 강력한 형식의 객체로 변환함으로써 데이터 처리를 단순화하고 LINQ 작업을 가능하게 합니다. IronXL은 셀 액세스 메서드를 통해 이 매핑을 간편하게 만듭니다. 다음 코드는 .NET 10 최고 수준의 문장을 사용하여 CSV 파일을 형식화된 객체 목록으로 매핑하는 방법을 보여 줍니다:

using IronXL;

// Define a typed model matching your CSV structure
public record Product(string Name, decimal Price, int Stock, DateTime? LastUpdated);

// Load and parse CSV file
WorkBook workbook = WorkBook.LoadCSV("inventory.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

var products = new List<Product>();

// Start from row 2 to skip the header row
for (int row = 2; row <= sheet.RowCount; row++)
{
    products.Add(new Product(
        Name: sheet[$"A{row}"].StringValue,
        Price: sheet[$"B{row}"].DecimalValue,
        Stock: sheet[$"C{row}"].IntValue,
        LastUpdated: sheet[$"D{row}"].DateTimeValue
    ));
}

// Use LINQ for analysis after loading
var lowStock = products.Where(p => p.Stock < 10).ToList();
var highValue = products.Where(p => p.Price > 100m).OrderByDescending(p => p.Price).ToList();

Console.WriteLine($"Products with low stock: {lowStock.Count}");
Console.WriteLine($"High-value products: {highValue.Count}");
using IronXL;

// Define a typed model matching your CSV structure
public record Product(string Name, decimal Price, int Stock, DateTime? LastUpdated);

// Load and parse CSV file
WorkBook workbook = WorkBook.LoadCSV("inventory.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

var products = new List<Product>();

// Start from row 2 to skip the header row
for (int row = 2; row <= sheet.RowCount; row++)
{
    products.Add(new Product(
        Name: sheet[$"A{row}"].StringValue,
        Price: sheet[$"B{row}"].DecimalValue,
        Stock: sheet[$"C{row}"].IntValue,
        LastUpdated: sheet[$"D{row}"].DateTimeValue
    ));
}

// Use LINQ for analysis after loading
var lowStock = products.Where(p => p.Stock < 10).ToList();
var highValue = products.Where(p => p.Price > 100m).OrderByDescending(p => p.Price).ToList();

Console.WriteLine($"Products with low stock: {lowStock.Count}");
Console.WriteLine($"High-value products: {highValue.Count}");
$vbLabelText   $csharpLabel

IronXL의 유형화된 값 속성 -- StringValue, DecimalValue, IntValue, DateTimeValue --는 안전하게 변환을 처리하여 잘못된 데이터에 대해 예외를 발생시키지 않고 기본값을 반환합니다. 이 방어적 접근 방식은 애플리케이션이 불완전한 데이터를 방해 없이 처리하도록 보장합니다. 이는 C# 9에 도입된 C# 레코드 타입과 자연스럽게 결합되며, 매핑된 CSV 행에 대한 간결하고 불변한 데이터 모델을 제공합니다.

IronXL 기능 페이지는 셀 데이터를 읽기 위한 값 액세서 유형에 대한 전체 개요를 제공합니다.

C# CSV 파일 리더 튜토리얼: IronXL로 CSV 데이터 구문 분석 및 변환: 이미지 3 - 서로 다른 구분자를 읽을 때의 출력

어떻게 LINQ로 CSV 데이터를 필터링하고 쿼리하나요?

CSV 데이터가 WorkSheet에 로드되면 범위 선택기를 사용하거나 LINQ 쿼리를 위해 객체로 변환하여 작업할 수 있습니다. 단순한 열 작업의 경우, 범위 기반 액세스가 가장 직접적인 경로입니다.

using IronXL;

WorkBook workbook = WorkBook.LoadCSV("sales-data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read entire columns using range notation
var productNames = sheet["A2:A100"]
    .Select(cell => cell.StringValue)
    .Where(name => !string.IsNullOrEmpty(name))
    .ToList();

// Aggregate numeric columns directly
decimal totalRevenue = sheet["C2:C100"].Sum();
decimal averageOrder = sheet["C2:C100"].Avg();

Console.WriteLine($"Products loaded: {productNames.Count}");
Console.WriteLine($"Total revenue: {totalRevenue:C}");
Console.WriteLine($"Average order value: {averageOrder:C}");
using IronXL;

WorkBook workbook = WorkBook.LoadCSV("sales-data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read entire columns using range notation
var productNames = sheet["A2:A100"]
    .Select(cell => cell.StringValue)
    .Where(name => !string.IsNullOrEmpty(name))
    .ToList();

// Aggregate numeric columns directly
decimal totalRevenue = sheet["C2:C100"].Sum();
decimal averageOrder = sheet["C2:C100"].Avg();

Console.WriteLine($"Products loaded: {productNames.Count}");
Console.WriteLine($"Total revenue: {totalRevenue:C}");
Console.WriteLine($"Average order value: {averageOrder:C}");
$vbLabelText   $csharpLabel

이 범위 기반 접근은 간단한 집계를 위해 행별 반복을 피하며, 대용량 파일에서 성능을 향상시킵니다. IronXL 문서에서 지원되는 범위 작업의 전체 목록을 확인하세요.

CSV를 Excel 형식으로 C#에서 변환하는 방법은?

많은 비즈니스 워크플로는 고급 분석, 서식 지정 또는 배포를 위해 Excel 형식의 CSV 데이터를 필요로 합니다. IronXL은 모든 데이터 무결성을 유지하면서 이 변환을 간단하게 만들었습니다.

using IronXL;

// Load CSV file
WorkBook csvWorkbook = WorkBook.LoadCSV("monthly-report.csv");
WorkSheet sheet = csvWorkbook.DefaultWorkSheet;

// Apply formatting before saving
sheet["A1:D1"].Style.Font.Bold = true;
sheet["A1:D1"].Style.BackgroundColor = "#4472C4";
sheet["A1:D1"].Style.Font.Color = "#FFFFFF";

// Apply currency format to price column
sheet["B2:B1000"].FormatString = "$#,##0.00";

// Apply date format to date column
sheet["D2:D1000"].FormatString = "yyyy-MM-dd";

// Save as Excel with a single method call
csvWorkbook.SaveAs("monthly-report.xlsx");

Console.WriteLine("Conversion complete: monthly-report.xlsx");
using IronXL;

// Load CSV file
WorkBook csvWorkbook = WorkBook.LoadCSV("monthly-report.csv");
WorkSheet sheet = csvWorkbook.DefaultWorkSheet;

// Apply formatting before saving
sheet["A1:D1"].Style.Font.Bold = true;
sheet["A1:D1"].Style.BackgroundColor = "#4472C4";
sheet["A1:D1"].Style.Font.Color = "#FFFFFF";

// Apply currency format to price column
sheet["B2:B1000"].FormatString = "$#,##0.00";

// Apply date format to date column
sheet["D2:D1000"].FormatString = "yyyy-MM-dd";

// Save as Excel with a single method call
csvWorkbook.SaveAs("monthly-report.xlsx");

Console.WriteLine("Conversion complete: monthly-report.xlsx");
$vbLabelText   $csharpLabel

변환은 숫자 정밀도, 날짜 형식, 특수 문자를 유지하며, 이는 수동 변환 방법에 문제가 있던 부분입니다. IronXL은 자동으로 결과 Excel 파일 구조를 최적화하여 대규모 데이터 집합에서도 빠르게 열리는 효율적인 파일을 생성합니다.

출력 형식에 대한 추가 제어를 위해, 내보내기 방법 가이드에는 XLSX, XLS, CSV, PDF 내보내기 옵션이 포함되어 있습니다. Excel 파일을 작성하고 처음부터 생성하는 방법도 배울 수 있습니다.

C# CSV 파일 리더 튜토리얼: IronXL로 CSV 데이터 구문 분석 및 변환: 이미지 4 - CSV 데이터 구문 분석 출력

데이터베이스 작업을 위한 CSV를 DataSet으로 변환

CSV 데이터를 추가 처리나 데이터베이스 삽입을 위해 DataSet에 로드해야 할 때, IronXL은 직접 변환 지원을 제공합니다. Excel to DataSet 가이드는 이 부분을 자세히 설명합니다:

using IronXL;
using System.Data;

WorkBook workbook = WorkBook.LoadCSV("customer-export.csv");

// Convert entire workbook to DataSet
DataSet dataSet = workbook.ToDataSet();

// The first sheet becomes the first Data탭le
Data탭le customer탭le = dataSet.탭les[0];

Console.WriteLine($"Rows loaded: {customer탭le.Rows.Count}");
Console.WriteLine($"Columns: {customer탭le.Columns.Count}");

// Process with standard ADO.NET
foreach (DataRow row in customer탭le.Rows)
{
    string name = row["Name"]?.ToString() ?? string.Empty;
    string email = row["Email"]?.ToString() ?? string.Empty;
    Console.WriteLine($"Customer: {name} <{email}>");
}
using IronXL;
using System.Data;

WorkBook workbook = WorkBook.LoadCSV("customer-export.csv");

// Convert entire workbook to DataSet
DataSet dataSet = workbook.ToDataSet();

// The first sheet becomes the first Data탭le
Data탭le customer탭le = dataSet.탭les[0];

Console.WriteLine($"Rows loaded: {customer탭le.Rows.Count}");
Console.WriteLine($"Columns: {customer탭le.Columns.Count}");

// Process with standard ADO.NET
foreach (DataRow row in customer탭le.Rows)
{
    string name = row["Name"]?.ToString() ?? string.Empty;
    string email = row["Email"]?.ToString() ?? string.Empty;
    Console.WriteLine($"Customer: {name} <{email}>");
}
$vbLabelText   $csharpLabel

이 접근 방식은 ADO.NET 워크플로와 직접 통합되며 CSV 데이터를 SQL Server, SQLite 또는 기타 관계형 데이터베이스로 표준 데이터 어댑터를 통해 푸시할 때 유용합니다. DataSetData탭le는 핵심 .NET 유형이기 때문에 이 경로는 IronXL 자체 외에 추가 종속성이 필요하지 않습니다.

대용량 CSV 파일 및 성능 최적화를 처리하는 방법은?

수만 개 이상의 행이 있는 대용량 CSV 파일을 처리할 때는 데이터 접근 방법과 메모리 관리 방법에 주의해야 합니다. IronXL은 대형 파일 시나리오에 도움이 되는 기능을 포함하고 있습니다.

성능을 위한 범위 작업 사용

대규모 데이터 세트에 대한 최적의 성능을 위해, 개별 셀에 접근하지 않고 범위 작업을 사용하십시오. 범위 작업은 IronXL의 내부 엔진에 의해 더 효율적으로 처리됩니다:

using IronXL;

WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Dataset dimensions: {rowCount} rows x {colCount} columns");

// Efficient: read entire range at once
var allData = sheet[$"A1:{GetColumnLetter(colCount)}{rowCount}"]
    .Select(cell => cell.StringValue)
    .ToList();

// Efficient: aggregate a column without row-by-row iteration
decimal columnSum = sheet[$"B2:B{rowCount}"].Sum();

Console.WriteLine($"Column B total: {columnSum}");

static string GetColumnLetter(int col)
{
    string result = string.Empty;
    while (col > 0)
    {
        col--;
        result = (char)('A' + col % 26) + result;
        col /= 26;
    }
    return result;
}
using IronXL;

WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Dataset dimensions: {rowCount} rows x {colCount} columns");

// Efficient: read entire range at once
var allData = sheet[$"A1:{GetColumnLetter(colCount)}{rowCount}"]
    .Select(cell => cell.StringValue)
    .ToList();

// Efficient: aggregate a column without row-by-row iteration
decimal columnSum = sheet[$"B2:B{rowCount}"].Sum();

Console.WriteLine($"Column B total: {columnSum}");

static string GetColumnLetter(int col)
{
    string result = string.Empty;
    while (col > 0)
    {
        col--;
        result = (char)('A' + col % 26) + result;
        col /= 26;
    }
    return result;
}
$vbLabelText   $csharpLabel

IronXL은 CSV 파일을 로드할 때 문자를 UTF-8, UTF-16, ASCII와 같은 텍스트 인코딩 변이를 자동으로 처리하여 열 값에 있는 국제 문자가 추가 구성 없이 올바르게 표시되도록 합니다. 이는 UTF-8 BOM 또는 대체 인코딩이 일반적인 지역의 시스템에서 내보낸 파일에 특히 중요합니다.

신뢰할 수 없는 CSV 소스를 위한 오류 처리

신뢰할 수 없거나 가변적인 소스의 CSV 파일을 처리할 때는 try-catch 블록으로 작업을 감싸는 것이 추가적인 안전 계층을 제공합니다:

using IronXL;

string filePath = "user-uploaded-data.csv";

try
{
    WorkBook workbook = WorkBook.LoadCSV(filePath);
    WorkSheet sheet = workbook.DefaultWorkSheet;

    Console.WriteLine($"Loaded {sheet.RowCount} rows from {filePath}");

    for (int row = 2; row <= sheet.RowCount; row++)
    {
        string value = sheet[$"A{row}"].StringValue;
        if (!string.IsNullOrWhiteSpace(value))
        {
            Console.WriteLine(value);
        }
    }
}
catch (IronXl.Exceptions.IronXLException ex)
{
    Console.WriteLine($"IronXL error reading {filePath}: {ex.Message}");
}
catch (IOException ex)
{
    Console.WriteLine($"File access error: {ex.Message}");
}
using IronXL;

string filePath = "user-uploaded-data.csv";

try
{
    WorkBook workbook = WorkBook.LoadCSV(filePath);
    WorkSheet sheet = workbook.DefaultWorkSheet;

    Console.WriteLine($"Loaded {sheet.RowCount} rows from {filePath}");

    for (int row = 2; row <= sheet.RowCount; row++)
    {
        string value = sheet[$"A{row}"].StringValue;
        if (!string.IsNullOrWhiteSpace(value))
        {
            Console.WriteLine(value);
        }
    }
}
catch (IronXl.Exceptions.IronXLException ex)
{
    Console.WriteLine($"IronXL error reading {filePath}: {ex.Message}");
}
catch (IOException ex)
{
    Console.WriteLine($"File access error: {ex.Message}");
}
$vbLabelText   $csharpLabel

IronXL 방법 가이드는 파일, 스트림, 바이트 배열을 포함한 다양한 소스를 위한 데이터 가져오기 패턴을 다룹니다.

C# CSV 파일 리더 튜토리얼: IronXL로 CSV 데이터 구문 분석 및 변환: 이미지 5 - CSV를 Excel 형식으로 변환

크로스 플랫폼 배포

IronXL은 Microsoft Office와 독립적으로 작동하여 서버 환경과 클라우드 배포에 적합합니다. Windows, Linux, macOS, Docker 컨테이너 또는 Azure나 AWS의 클라우드 기능에 배포하든, IronXL은 모든 플랫폼에서 구성 변경 없이 일관된 결과를 제공합니다.

이 플랫폼 간 기능은 가벼운 컨테이너가 데이터 처리 작업을 처리하는 마이크로서비스 아키텍처에 유용합니다. IronXL 기능 개요는 지원되는 환경 및 런타임 대상의 전체 목록을 자세히 설명합니다.

IronXL의 라이선스는 어떻게 받나요?

IronXL은 프로덕션 환경에서 사용하기 위해 라이선스 키가 필요합니다. 무료 체험 라이선스가 평가를 위해 제공되며, 상용 라이선스는 개인 개발자, 팀 및 조직을 위해 제공됩니다.

IronXL 호출을 실행하기 전에 애플리케이션 내에서 라이선스 키를 적용하세요:

using IronXL;

// Apply license key at application startup
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Verify the license is active
if (IronXl.License.IsValidLicense("YOUR-LICENSE-KEY-HERE"))
{
    Console.WriteLine("IronXL license is active.");
}

// Now use IronXL normally
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;
Console.WriteLine($"Loaded {sheet.RowCount} rows.");
using IronXL;

// Apply license key at application startup
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Verify the license is active
if (IronXl.License.IsValidLicense("YOUR-LICENSE-KEY-HERE"))
{
    Console.WriteLine("IronXL license is active.");
}

// Now use IronXL normally
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;
Console.WriteLine($"Loaded {sheet.RowCount} rows.");
$vbLabelText   $csharpLabel

체험판 및 라이선싱 옵션에 대해서는 IronXL 라이선스 페이지를 방문하십시오.

IronXL이 CSV 처리에 적합한 이유는?

IronXL은 C# CSV 파일을 읽는 작업을 번거로운 파싱 작업에서 간단한 작업으로 전환해줍니다. 이 라이브러리는 수동 파싱이 잘못 처리하는 일반적인 에지 케이스 -- 임베디드 컴마, 따옴표로 묶인 필드 내의 개행 문자, 일관되지 않은 구분 기호, 인코딩 변형 및 잘못된 행 --를 각 시나리오에 대한 사용자 정의 코드 없이 처리합니다. 한 번의 데이터 가져오기 필요가 있든, 아니면 매일 수천 개의 파일을 처리하는 프로덕션 파이프라인이 필요하든 간에, 동일한 API가 두 문맥 모두에 작동합니다.

매뉴얼 CSV 구문 분석은 string.Split 또는 StreamReader이 따옴표로 묶인 필드에 구분 문자나 줄 바꿈 문자가 나타날 때 빠르게 깨질 수 있습니다. IronXL은 따옴표로 묶인 필드 처리 및 이스케이프 시퀀스에 대한 CSV 규격을 따르므로 이것을 기본적으로 올바르게 처리합니다.

.NET 10에서 CSV 작업을 위한 IronXL의 주요 장점은 다음과 같습니다:

  • Office 의존성 없음: 서버 및 클라우드 배포는 Microsoft Office나 어떤 COM 상호 운용도 설치 필요 없이 작동합니다
  • 사용자 정의 구분자: list구분 기호 매개변수를 통해 어떤 구분 문자나 문자열도 지원됩니다.
  • 타입 안전한 셀 접근: StringValue, DecimalValue, IntValue, 및 DateTimeValue 접근자는 잘못된 데이터에 대해 예외를 발생시키지 않고 안전한 기본값을 반환합니다.
  • 범위 작업: 행별 반복 없이 범위를 통하여 데이터 집계 및 질의
  • 형식 변환: 한 워크플로에서 CSV를 로드하고 XLSX, XLS, PDF, 또는 다른 형식으로 저장
  • DataSet 통합: 로드된 워크북을 ADO.NET 및 데이터베이스 작업을 위해 DataSet / Data탭le로 변환
  • 크로스 플랫폼: Windows, Linux, macOS, Docker 및 클라우드 환경에서 변경 없이 실행

IronXL 문서셀 서식 가이드는 서식, 수식 지원 및 고급 워크북 작업에 대한 추가 정보를 제공합니다.

CSV 파일을 자신 있게 처리할 준비가 되셨습니까? 무료 체험을 시작하고 전체 IronXL 기능 세트를 탐색해 보세요.

자주 묻는 질문

CSV 파일이란 무엇이며 왜 흔히 사용될까요?

CSV 파일, 즉 쉼표로 구분된 값 파일은 표 형식의 데이터를 저장하는 간단한 텍스트 형식입니다. 단순하고 사용하기 쉬워서 여러 시스템 간의 데이터 내보내기 및 가져오기 등 비즈니스 애플리케이션에서 널리 사용됩니다.

IronXL C#에서 CSV 파일 구문 분석을 어떻게 지원합니까?

IronXL 다양한 열 구분 기호, 따옴표로 묶인 필드, 데이터 형식 변환을 포함한 복잡한 CSV 구조를 처리하는 강력한 도구를 제공하여 C#에서 CSV 파일 구문 분석을 간소화합니다.

IronXL CSV 데이터를 다른 형식으로 변환할 수 있습니까?

네, IronXL 개발자가 CSV 데이터를 XML 및 Excel과 같은 다양한 형식으로 변환할 수 있도록 지원하여 다양한 데이터 처리 요구 사항에 맞춰 활용할 수 있습니다.

CSV 파일 파싱 시 흔히 발생하는 문제점은 무엇인가요?

일반적인 어려움으로는 서로 다른 열 구분 기호 처리, 따옴표로 묶인 필드 관리, 정확한 데이터 유형 변환 등이 있습니다. IronXL 고급 구문 분석 기능을 통해 이러한 문제를 해결하는 데 도움을 줍니다.

IronXL 기업 수준의 CSV 처리에 적합한가요?

네, IronXL 기업 환경에 최적화되어 있으며, .NET 애플리케이션을 위한 강력하고 확장 가능한 CSV 파일 처리 솔루션을 제공합니다.

IronXL 대용량 CSV 파일을 효율적으로 처리하는 것을 지원합니까?

IronXL 성능에 최적화되어 있어 속도나 정확도를 저하시키지 않고 대용량 CSV 파일을 효율적으로 처리할 수 있습니다.

IronXL 사용자 지정 구분 기호가 포함된 CSV 파일을 처리할 수 있습니까?

네, IronXL 사용자 지정 구분 기호를 사용하는 CSV 파일을 지원하므로 개발자는 비표준 CSV 형식을 처리할 때 유연성을 확보할 수 있습니다.

IronXL CSV 파일에서 따옴표로 묶인 필드를 어떻게 처리하나요?

IronXL CSV 파일의 따옴표로 묶인 필드를 정확하게 구문 분석하여 읽기 과정에서 데이터 무결성과 적절한 변환을 보장합니다.

IronXL 사용하여 CSV 파일을 파싱할 때 사용할 수 있는 프로그래밍 언어는 무엇인가요?

IronXL 은 .NET 라이브러리이므로 C# 및 VB .NET 과 같이 .NET Framework 에서 지원하는 언어와 함께 사용할 수 있습니다.

CSV 파일과 함께 IronXL 사용하는 코드 예제가 있습니까?

네, IronXL 문서에는 C# 애플리케이션에서 CSV 파일을 읽고, 구문 분석하고, 처리하는 방법에 대한 완벽한 코드 예제가 제공됩니다.

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

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

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

Iron Support Team

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