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

C#에서 CSV 파일을 DataTable로 읽어들이는 방법

CSV 파일을 C#에서 DataTable으로 변환하는 것은 IronXL을 사용하면 간단합니다. WorkBook.LoadCSV()을 사용하여 모든 CSV 파일을 읽은 후, ToDataTable(true)을 호출하여 적절한 열 헤더가 있는 구조화된 DataTable을 생성하여 데이터베이스 가져오기나 데이터 조작에 준비가 되어 있습니다.

CSV 파일 작업은 .NET 개발자에게 일반적인 작업입니다. 영업 보고서를 가져오거나 인벤토리를 처리하거나 고객 레코드를 동기화하는 경우입니다. CSV 파일을 DataTable으로 변환하면 조작, 분석 또는 데이터베이스 테이블에 삽입하기 쉽게 됩니다. IronXL 라이브러리는 Excel 설치가 필요 없이 C# 응용 프로그램에서 Excel 및 CSV 작업을 처리하기 위한 종합 솔루션을 제공합니다.

C#에서 CSV 파일을 읽는 것은 까다로울 수 있습니다. 대규모 파일, 다른 구분 기호 또는 내장된 쉼표는 종종 복잡한 구문 분석 논리를 필요로 합니다. IronXL은 이를 간단하게 합니다. 몇 줄의 코드로, 어떤 파일 경로에서든 CSV 파일을 읽고, 적절한 열 헤더가 있는 DataTable으로 변환하여 대량 데이터베이스 작업에 준비할 수 있습니다. 이 접근법은 특히 C#에서 Excel 데이터 작업 시 유용합니다.

이 가이드에서는 다음을 배우게 됩니다:

  • C#에서 IronXL의 CSV 읽기 기능을 사용하여 CSV 파일을 DataTable에 로드합니다.
  • 쉼표, 탭 또는 세미콜론과 같은 다른 구분 기호를 처리합니다.
  • 내보내기 기능을 사용하여 DataTable을 SQL Server로 효율적으로 직접 가져옵니다.
  • 메모리 문제 없이 대용량 데이터 세트를 안정적으로 관리합니다.

결국, .NET 10 응용 프로그램에서 IronXL을 사용하여 CSV 데이터를 실용적인 정보로 전환하는 완전한 워크플로우를 얻게 됩니다.

왜 CSV를 DataTable으로 변환하는 것이 중요한가요?

CSV를 DataTable으로 변환하면 개발자가 쉼표로 구분된 값을 구조화된 객체로 변환하여 추가 처리할 수 있습니다. 재고 데이터, 고객 기록 또는 트랜잭션 로그를 다루든 간에, CSV를 DataTable으로 효율적으로 변환하는 것이 중요합니다. 첫 번째 행을 열 헤더로 사용하면 DataTable 열이 데이터베이스 테이블 스키마와 정렬되도록 보장할 수 있어 Excel에서 SQL 작업에 적합합니다.

전통적인 접근법은 종종 대용량 파일, 다양한 구분 기호 또는 메모리 관리와 같은 문제를 겪습니다. IronXL은 이러한 문제를 제거하고 추가 코드 없이 다양한 구분 기호, 따옴표로 묶인 필드, 내장된 쉼표를 처리합니다. IronXL의 CSV 읽기 기능은 데이터 유효성 검사 및 파일 크기 제어와 같은 추가 기능을 제공하면서 일반적인 문제 지점을 제거합니다.

다른 데이터 구조보다 언제 DataTable을 사용해야 하나요?

데이터베이스와 같은 작업이 필요할 때 메모리 내에서 DataTables이 잘 작동합니다. SQL Server 가져오기, UI 컨트롤에 데이터 바인딩, 구조화된 데이터에 대해 LINQ 쿼리를 수행해야 하는 경우에 이상적입니다. 단순 배열이나 리스트와 달리, DataTables은 스키마 검증, 테이블 간의 관계, ADO.NET과의 직접 통합을 제공합니다. 보다 복잡한 시나리오의 경우, 필요에 따라 DataSet과 DataTable 간의 변환을 수행할 수도 있습니다.

전통적인 CSV 파싱의 일반적인 문제는 무엇인가요?

수동 CSV 파싱은 종종 가장자리 경우에 실패합니다: 따옴표로 묶인 필드 내의 내장된 쉼표, 셀 값의 줄 바꿈 또는 일관되지 않은 구분 기호 사용. 모두 메모리에 한 번에 로드할 때 대용량 파일의 메모리 소모가 문제가 됩니다. 문자 인코딩 문제로 인해 국제 데이터가 손상될 수 있고, 타입 추론은 종종 숫자 문자열을 숫자로 잘못 해석합니다. 이러한 도전이 IronXL과 같은 구조화된 파싱 라이브러리가 생산 응용 프로그램에 필수적인 이유입니다.

대용량 CSV 파일에서 메모리 문제를 어떻게 피할 수 있나요?

IronXL은 대용량 CSV 파일을 효율적으로 처리하기 위한 버퍼된 읽기 기술을 구현합니다. 한 번에 전체 파일을 메모리에 로드하는 대신, 데이터를 청크 단위로 처리하여 대용량 파일에서도 작은 메모리 소비를 유지합니다. 이는 제한된 리소스를 가진 서버 환경에 적합하며, 메모리 할당이 제한되는 클라우드 배포에도 포함됩니다.

IronXL은 어떻게 설치합니까?

IronXL 사용을 시작하려면 간단한 NuGet Install-Package가 필요합니다. Visual Studio의 NuGet 패키지 관리자 콘솔을 열고 다음 명령 중 하나를 실행하세요:

Install-Package IronXL
Install-Package IronXL
SHELL

또는 .NET CLI를 선호하는 경우:

dotnet add package IronXL
dotnet add package IronXL
SHELL

설치하면 IronXL 네임스페이스를 프로젝트에 추가하세요:

using IronXL;
using System.Data;
using IronXL;
using System.Data;
$vbLabelText   $csharpLabel

이는 Excel 종속성 없이 모든 CSV 처리 기능에 대한 액세스를 제공합니다. 자세한 내용은 IronXL 문서NuGet 설치 가이드를 참조하세요.

IronXL의 시스템 요구 사항은 무엇인가요?

IronXL은 현대 및 레거시 응용 프로그램과 호환되는 .NET Framework 4.6.2+ 및 .NET Core/5/6/7/8/9/10을 지원합니다. Windows, Linux 및 macOS 플랫폼에서 실행됩니다. 특별 요구 사항이 있는 환경의 경우, 플랫폼 지원을 확인하려면 IronXL 기능 페이지를 참조하세요. 구매 전에 전체 기능 세트를 평가하기 위한 체험판 라이선스가 제공됩니다.

설치가 성공적으로 완료되었는지 어떻게 확인합니까?

설치를 확인하기 위해 CSV 파일을 로드하는 테스트 프로그램을 만드세요. 라이선스 메시지가 표시되는 경우, 라이선스 키를 얻어야 합니다. 프로젝트 파일에서 패키지 참조를 확인하여 IronXL이 올바른 버전으로 표시되는지 확인하세요. 기본적인 CSV 읽기 작업을 실행하세요. 오류 없이 완료되면 설치가 제대로 작동하는 것입니다.

!{--010011000100100101000010010100100100000101010010010110010101111101001110010101010001110100010101010100010111110100100101001110010100110101010001000001010011000100110001001100010111110100001001001100010011110100001101001011--}

어떻게 CSV 파일을 DataTable으로 변환하나요?

IronXL의 기본 워크플로우는 몇 줄의 코드만으로 이루어져 있습니다. C# 10+의 최상위 문장을 사용하여 CSV 파일을 읽고 DataTable으로 변환하는 방법은 다음과 같습니다:

using IronXL;
using System.Data;

// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
    fileFormat: ExcelFileFormat.XLSX);

// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);

// Display the data
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System.Data;

// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
    fileFormat: ExcelFileFormat.XLSX);

// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);

// Display the data
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

LoadCSV 메서드는 자동으로 CSV 파일을 구문 분석하여 따옴표가 있는 필드와 포함된 쉼표를 처리합니다. fileFormat 파라미터는 IronXL에 CSV 데이터를 내부적으로 어떻게 해석해야 하는지를 알려주어 엑셀 호환 구조로 간주하도록 보장합니다. 로드된 후, ToDataTable(true) 메서드는 워크시트를 DataTable으로 변환하고 true 파라미터는 첫 번째 행을 열 헤더로 사용할지 표시합니다. 이는 CSV 헤더와 일치하는 이름이 있는 깨끗하고 구조화된 DataTable을 결과로 제공합니다. 더 많은 고급 조작 옵션이 필요하다면 완전한 IronXL 안내서를 탐색해 보세요.

변환 과정은 데이터 유형도 유지하며, 숫자는 숫자대로, 날짜는 정확히 파싱되며, 텍스트 필드는 서식을 유지합니다. 이 자동 유형 추론은 수작업 파싱 방법에 비해 상당한 개발 시간을 절약해 줍니다. 맞춤형 데이터 서식이 필요한 경우, 변환 전에 셀 서식을 적용할 수 있습니다.

ToDataTable 파라미터는 무엇을 제어하나요?

ToDataTable()의 불리언 파라미터는 헤더 행 처리 방식을 결정합니다. true로 설정되면, 첫 번째 행은 DataTable의 열 이름이 되어 Column1 대신 CustomerName와 같은 의미 있는 필드 참조를 생성합니다. false인 경우, 헤더 없는 CSV 파일에 유용한 일반적인 열 이름이 할당됩니다. 이 유연성은 실제 응용 프로그램에서 겪는 다양한 CSV 형식을 지원합니다. 고급 시나리오는 여러 데이터 범위를 처리하기 위해 맞춤형 옵션으로 워크북을 여는 것이 필요할 수 있습니다.

헤더 없는 CSV 파일을 어떻게 처리합니까?

헤더가 없는 CSV 파일의 경우, ToDataTable(false)을 사용하고 나중에 수동으로 열 이름을 할당합니다. Columns 컬렉션을 반복하여 데이터 스키마를 기반으로 의미 있는 이름을 설정할 수 있습니다. 또는 CSV에 헤더 행을 프로그래밍적으로 추가한 후 로드할 수 있습니다. IronXL은 추가로 기존 데이터에 헤더를 추가해야 할 경우 빈 엑셀 파일 만들기도 지원합니다.

큰 CSV 파일의 성능은 어떻게 됩니까?

IronXL은 버퍼링 기술을 사용하여 큰 CSV 파일을 효율적으로 처리합니다. 100MB 이하의 파일은 보통 몇 초 안에 로드됩니다. 지능적인 버퍼링으로 파일 크기에 관계없이 메모리 사용이 제어됩니다. 대량 데이터 세트의 최적 성능을 위해, 범위 선택 기술을 사용하여 배치로 처리하는 것을 고려하세요. IronXL 기능 페이지에는 성능 특성이 자세히 문서화되어 있습니다.

어떻게 DataTable을 SQL Server에 가져올 수 있나요?

일단 DataTable을 생성하면, SqlBulkCopy을 사용하여 SQL Server로 효율적으로 가져올 수 있습니다. 다음 예제는 C# 최상위 수준 문을 사용합니다:

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

// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
    "Integrated Security=True;TrustServerCertificate=True;";

// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);

// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);

// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";

// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");

// Set batch size for better performance
bulkCopy.BatchSize = 1000;

// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);

Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;

// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
    "Integrated Security=True;TrustServerCertificate=True;";

// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);

// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);

// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";

// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");

// Set batch size for better performance
bulkCopy.BatchSize = 1000;

// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);

Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
$vbLabelText   $csharpLabel

SqlBulkCopy 클래스는 대규모 데이터 가져오기에 강력한 성능을 제공합니다. ColumnMappings 컬렉션은 DataTable 열을 데이터베이스 열과 다른 이름으로 매핑하여 데이터 스키마의 유연성을 보장합니다. BatchSize 속성은 모든 것을 한 번에 로드하는 대신 청크로 레코드를 처리하여 메모리 사용량을 최적화합니다. IronXL의 가져오기 및 내보내기 기능에 대해 자세히 알아보세요.

데이터 무결성을 추가하기 위해, 대량 복사 작업에 대한 트랜잭션 지원을 구현하는 것을 고려하세요. 이렇게 하면 오류가 발생하면 일부 가져오기가 롤백될 수 있습니다. 또한, 가져오기 전에 데이터를 사전 검증하기 위해 IronXL의 엑셀 쓰기 기능을 사용할 수 있습니다.

여기에서 SSMS의 SELECT * FROM dbo.Inventory; 쿼리를 사용하여 CSV 데이터가 SQL Server에 가져왔는지 확인할 수 있습니다. 먼저 예제 CSV 파일에서 사용된 데이터를 살펴보십시오:

메모장 창에 쉼표 구분 형식으로 제품 코드, 수량 및 날짜가 포함된 샘플 CSV 재고 보고서가 표시됨

이제 쿼리의 결과를 보면, 모든 열, 헤더, 행이 데이터베이스 테이블로 성공적으로 복사된 것을 볼 수 있습니다.

SQL 쿼리 결과에는 제품 코드 A100, B200, C300 및 그 수량과 타임스탬프가 포함된 CSV에서 가져온 3개의 재고 레코드가 데이터베이스 관리 도구에 표시됨

성능에 BatchSize이 중요한 이유는 무엇인가요?

BatchSize은 각 네트워크 왕복에서 SQL Server로 보낼 행의 수를 제어합니다. 더 작은 배치(100 -- 1000 행)는 메모리 사용량을 줄이고 진행을 모니터링할 수 있지만 네트워크 오버헤드를 증가시킵니다. 더 큰 배치(5000 -- 10000행)는 빠른 네트워크에서 처리량을 최대화하지만 더 많은 메모리를 소비합니다. 최적의 크기는 행 너비, 네트워크 지연 시간 및 사용 가능한 메모리에 따라 달라집니다. 여러 데이터 범위가 포함된 복잡한 시나리오의 경우, 배치 처리의 중요성이 더욱 커집니다.

열 매핑 불일치를 어떻게 처리합니까?

열 매핑 불일치는 대량 복사 작업 중에 런타임 예외를 발생시킵니다. 소스 DataTable 열 이름이 매핑 정의와 정확히 일치하는지, 대소문자 구분 여부도 항상 확인하십시오. 맵핑 전에 열 존재 여부를 확인하기 위해 GetOrdinal 메서드를 사용하세요. 동적 스키마의 경우, 대상 테이블의 구조를 쿼리하고 프로그램적으로 매핑을 구축하세요. IronXL의 Excel to DataSet 가이드는 가져오기 전에 열 이름을 표준화하는 데 도움이 될 수 있습니다.

대량 가져오기에 적용되는 보안 고려 사항은 무엇입니까?

대량 가져오기는 일반적으로 db_datawriterbulkadmin 역할과 같은 높은 데이터베이스 권한이 필요합니다. 연결 문자열에 자격 증명을 포함하지 않도록 통합 인증을 사용할 수 있을 때 사용하세요. 가져오는 동안 감사 열을 추가하여 행 수준 보안을 구현하세요. CSV 데이터가 잘못되어 문제가 발생하지 않도록 데이터 유형과 범위를 항상 검증하세요. Enterprise 배포 요구 사항을 이해할 필요가 있는 경우 IronXL 라이선스 페이지를 검토하세요.

다양한 CSV 구분 기호를 어떻게 처리하나요?

모든 CSV 파일이 쉼표를 사용하지는 않습니다. IronXL은 다양한 구분자를 처리하므로 국제 데이터 형식 또는 레거시 시스템에 실용적입니다. 다음 예제는 탭으로 구분된 파일 및 세미콜론으로 구분된 파일을 로드하는 방법을 보여줍니다.

using IronXL;
using System;
using System.Data;
using System.IO;

// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");

// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");

// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
    lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);

WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);

// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}

// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}
using IronXL;
using System;
using System.Data;
using System.IO;

// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");

// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");

// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
    lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);

WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);

// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}

// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}
$vbLabelText   $csharpLabel

이 코드는 IronXL WorkBook 객체로 서로 다른 구분 기호를 가진 CSV 파일을 로드하는 방법을 보여줍니다. 탭 구분 파일은 메뉴로 "\t"를 사용하여 읽히고, 세미콜론 구분 파일은 표준 CSV 형식으로 변환된 후 로딩됩니다. 각 워크북의 기본 워크시트는 DataTable으로 변환되어 ToDataTable(true)은 첫 번째 행을 열 헤더로 사용합니다. 더 복잡한 파일 형식 시나리오의 경우, 다양한 형식으로 Excel 데이터를 내보내기를 탐색할 수도 있습니다.

다양한 구분자를 처리하는 유연성은 실제로 많은 CSV 구문 분석 문제를 해결합니다. 유럽 데이터 형식을 다룰 때, IronXL의 구분자 처리는 데이터 형식 표준의 지역 차이를 수용합니다. 구조가 일관되지 않은 파일의 경우, LoadCSV로 전달하기 전에 원시 텍스트를 사전 처리합니다.

RFC 4180 표준은 IronXL이 따르는 인용 필드와 포함된 쉼표에 대한 CSV 형식 사양을 정의합니다. 이 유연성은 또한 .NET에서 CSV를 DataTable로 읽는 방법에 대한 Stack Overflow 커뮤니티 스레드에서 자세히 논의됩니다.

IronXL이 기본적으로 지원하는 구분자는 무엇인가요?

IronXL은 쉼표, 탭, 파이프(|), and custom single-character delimiters through the LoadCSV 오버로드입니다. 최상의 성능을 위해 파일을 전처리하기보다는 기본 제공 구분자 매개변수를 사용하는 것이 좋습니다. 여러 문자로 구성된 구분자는 위에 나온 세미콜론 예시와 같이 전처리가 필요합니다. 파싱된 데이터를 재구성해야 하는 경우, 생성된 워크북에서 셀 병합을 할 수도 있습니다.

구분자를 자동으로 감지하려면 어떻게 해야 하나요?

자동 구분자 감지는 CSV 파일의 처음 몇 줄을 분석하는 것을 포함합니다. 각 줄에서 흔히 사용되는 구분자(쉼표, 탭, 세미콜론, 파이프)의 발생 횟수를 카운트합니다. 일관되게 가장 높은 빈도로 나타나는 문자가 아마도 구분자일 것입니다. IronXL은 자동 감지를 제공하지 않지만, LoadCSV을 호출하기 전에 이 로직을 구현할 수 있습니다. 구분자가 일관되지 않은 파일의 경우, 먼저 파일 구조를 검증한 후 표준화하십시오.

콘솔 출력에 표시된 것처럼, 두 파일 모두 서로 다른 구분자로 시작하더라도 DataTable로 정확하게 형식화됩니다.

Microsoft Visual Studio Debug Console에 두 가지 다른 파일 형식의 출력 -- 과일 데이터(ID, 이름, 수량)를 포함하는 탭 구분 파일과 도시 인구 데이터를 포함한 세미콜론 구분 파일

CSV 외에 지원되는 IronXL 기능은 무엇입니까?

IronXL은 CSV 읽기 외에도 훨씬 더 많은 것을 다룹니다. 이 라이브러리는 C#에서 Excel 및 스프레드시트 작업의 전체 스펙트럼을 처리하여 데이터 중심 애플리케이션에 대한 단일 종속성을 만듭니다.

IronXL .NET 개발자를 위한 주요 기능
특징 설명 더 알아보기
엑셀 파일 읽기 .xlsx, .xls, .csv 파일을 로드하고 셀 데이터를 프로그래밍 방식으로 액세스 Excel 읽기
엑셀 파일을 작성하세요 스프레드시트를 생성 및 수정하고 값, 수식, 스타일 설정 Excel 쓰기
Excel 파일 생성 코드에서 새 워크북 및 워크시트를 생성 엑셀 생성하기
데이터 세트로 내보내기 전체 워크북을 여러 테이블 시나리오를 위한 DataSet 객체로 변환 엑셀을 DataSet으로 변환
셀 서식 셀에 숫자 형식, 글꼴, 색상 및 테두리를 적용 셀 서식
데이터 가져오기 DataTable, List 또는 데이터베이스 소스에서 워크시트를 채우기 데이터 가져오기

전체 워크북을 DataSet으로 내보내는 방법은?

CSV 파일에 여러 섹션이 포함되어 있거나 여러 시트로 작업해야 할 때는 WorkBook 객체에서 ToDataSet() 메서드를 사용합니다. 이것은 각 워크시트당 하나의 DataTable를 포함하는 DataSet를 반환합니다. 엑셀을 DataSet으로 변환하는 방법은 이 시나리오에 대한 단계별 코드 예제를 제공합니다.

사용 가능한 라이선스 옵션은 무엇인가요?

IronXL은 상업적 용도를 위해 다채로운 라이선스 계층을 통해 팀 규모와 배포 요구에 맞춰 사용할 수 있습니다. 무료 체험 라이선스는 전체 기능 세트에 평가할 수 있도록 접근을 제공합니다. 라이선스 페이지는 로열티 없는 배포와 SaaS 옵션을 포함한 사용 가능한 계획들을 문서화하고 있습니다.

다음 단계는 무엇인가요?

IronXL은 CSV 데이터베이스 가져오기를 간단하고 신뢰할 수 있는 프로세스로 변환합니다. 몇 줄의 코드만으로 당신은 다음을 할 수 있습니다:

LoadCSV 기능성을 사용하여 임의 파일 경로에서 CSV 파일 읽기

  • 적절한 데이터 형식화로 CSV 데이터를 DataTable으로 변환합니다. 자동 파싱을 통해 열 머리글과 DataTable 열을 유지 대량 연산을 사용하여 수백만의 열을 데이터베이스 테이블로 효율적으로 가져오기

라이브러리는 CSV 파싱, 메모리 관리, 데이터 유형 변환의 복잡한 부분을 처리하여 파일 처리 세부사항 대신 비즈니스 로직에 집중할 수 있게 해줍니다. ASP.NET 애플리케이션을 빌드하거나 Blazor로 작업하거나 .NET 10 데스크톱 앱을 개발하든 IronXL은 모든 플랫폼에서 일관되고 신뢰할 수 있는 CSV 처리를 제공합니다.

시작할 준비 되셨나요? IronXL 문서는 모든 기능을 깊이 있게 다루고 있으며, 체험 라이선스를 통해 전체 라이브러리를 평가할 수 있습니다. 풍부한 코드 예제와 명확한 API 참조 덕분에, 당신은 .NET 10 응용 프로그램에서 효과적으로 CSV 파일을 처리할 수 있습니다.

자주 묻는 질문

C#에서 CSV 파일을 DataTable로 읽어들이는 가장 좋은 방법은 무엇일까요?

IronXL 사용하면 개발자 가이드에 제공된 간단한 코드 예제를 통해 CSV 파일을 C#의 DataTable로 효율적으로 읽어들일 수 있습니다.

CSV를 DataTable로 변환할 때 IronXL 사용해야 하는 이유는 무엇입니까?

IronXL CSV 파일을 구문 분석하고 DataTables로 변환하는 간단한 API를 제공하여 C#에서 데이터를 쉽게 조작하고 분석할 수 있도록 합니다.

IronXL 대용량 CSV 파일을 DataTables로 변환할 때 문제없이 처리할 수 있습니까?

네, IronXL 은 대용량 CSV 파일을 효율적으로 처리하고 성능 문제 없이 DataTable로 변환하도록 설계되었습니다.

IronXL CSV를 DataTable로 변환한 후 데이터 조작을 지원합니까?

물론입니다. IronXL 사용하여 CSV 파일을 DataTable로 변환하면 필요에 따라 데이터를 쉽게 조작하고 분석할 수 있습니다.

IronXL 사용하여 CSV 데이터를 데이터베이스로 가져오는 방법은 무엇입니까?

IronXL 사용하여 CSV 파일을 DataTable로 변환한 후에는 C#의 표준 데이터베이스 연결을 사용하여 데이터를 데이터베이스에 삽입할 수 있습니다.

IronXL 기업용 애플리케이션에서 CSV 파일을 처리하는 데 적합한가요?

네, IronXL 기업용 애플리케이션에서 CSV 처리 작업을 처리하도록 설계되었으며, 강력한 성능과 안정성을 제공합니다.

CSV 파일을 C#의 DataTables로 변환할 때의 장점은 무엇인가요?

CSV 파일을 DataTables로 변환하면 데이터 조작, 분석 및 데이터베이스 통합이 더욱 쉬워져 애플리케이션의 데이터 처리 기능이 향상됩니다.

IronXL CSV 외에 다른 스프레드시트 파일 형식에도 사용할 수 있나요?

네, IronXL Excel 형식을 비롯한 다양한 스프레드시트 파일 형식을 지원하여 C#에서 다재다능한 데이터 처리 기능을 제공합니다.

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

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

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

Iron Support Team

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