Ir para o conteúdo do rodapé
USANDO O IRONXL

Como ler um arquivo CSV em um DataTable em C#

Converter arquivos CSV para DataTable em C# é simples com o IronXL: use WorkBook.LoadCSV() para ler qualquer arquivo CSV e, em seguida, chame ToDataTable(true) para criar um DataTable estruturado com cabeçalhos de coluna adequados, pronto para importação de banco de dados ou manipulação de dados.

Trabalhar com arquivos CSV é uma tarefa comum para desenvolvedores .NET, seja para importar relatórios de vendas, processar inventário ou sincronizar registros de clientes. Converter um arquivo CSV em um DataTable facilita a manipulação, análise ou inserção em uma tabela de banco de dados. A biblioteca IronXL oferece uma solução completa para lidar com operações em Excel e CSV em aplicações C# — sem necessidade de instalação do Excel.

Ler arquivos CSV em C# pode ser complicado. Arquivos grandes, diferentes delimitadores ou vírgulas embutidas geralmente requerem lógica de análise complexa. IronXL simplifica isso: com apenas algumas linhas de código, você pode ler arquivos CSV de qualquer caminho de arquivo, convertê-los em um DataTable com cabeçalhos de coluna adequados e prepará-los para operações em massa no banco de dados. Essa abordagem é particularmente útil ao trabalhar com dados do Excel em C# .

Neste guia, você aprenderá como:

  • Carregar um arquivo CSV em um DataTable em C# usando os recursos de leitura de CSV do IronXL
  • Lidar com diferentes delimitadores, como vírgulas, tabulações ou ponto e vírgulas. Importe seu DataTable diretamente para o SQL Server de forma eficiente usando a funcionalidade de exportação.
  • Gerencie grandes conjuntos de dados de forma confiável, sem enfrentar problemas de memória.

Ao final, você terá um fluxo de trabalho completo e prático para transformar dados CSV em informações acionáveis usando IronXL em seus aplicativos .NET 10.


Por que a conversão de CSV para DataTable é importante?

A conversão de CSV para DataTable permite que os desenvolvedores transformem valores separados por vírgula em objetos estruturados para processamento posterior. Seja para lidar com dados de estoque, registros de clientes ou logs de transações, converter CSV para um formato DataTable de forma eficiente é crucial. Usando a primeira linha como cabeçalhos de coluna, você pode garantir que as colunas do DataTable estejam alinhadas com o esquema da tabela do seu banco de dados, tornando-o perfeito para operações do Excel .

Abordagens tradicionais muitas vezes têm dificuldades com arquivos grandes, diferentes delimitadores ou gerenciamento de memória. IronXL elimina esses desafios e lida com diferentes delimitadores, campos entre aspas e vírgulas embutidas sem código extra. Os recursos de leitura de CSV do IronXL eliminam problemas comuns, ao mesmo tempo que oferecem funcionalidades adicionais como validação de dados e controle do tamanho do arquivo.

Quando você deve usar DataTable em vez de outras estruturas de dados?

DataTables funcionam bem quando você precisa de operações semelhantes a bancos de dados na memória. Eles são ideais para cenários que envolvem importações para SQL Server, binding de dados a controles de UI ou quando você precisa realizar consultas LINQ sobre dados estruturados. Ao contrário de simples arrays ou listas, DataTables oferece validação de esquema, relacionamentos entre tabelas e integração direta com ADO.NET. Para cenários mais complexos, você também pode converter entre DataSet e DataTable conforme necessário.

Quais são os problemas comuns com a análise tradicional de CSV?

A análise manual de CSV frequentemente falha em cenários de borda: vírgulas embutidas dentro de campos entre aspas, quebras de linha em valores de células ou uso inconsistente de delimitadores. O consumo de memória se torna problemático com arquivos grandes ao carregar tudo na memória de uma vez. Problemas de codificação de caracteres podem corromper dados internacionais, enquanto a inferência de tipo muitas vezes interpreta erroneamente cadeias de caracteres numéricos como números. Esses desafios são o motivo pelo qual uma biblioteca de análise estruturada como o IronXL se tornou essencial para aplicativos de produção.

Como evitar problemas de memória com arquivos CSV grandes?

O IronXL implementa técnicas de leitura em buffer para manipular arquivos CSV grandes de forma eficiente. Em vez de carregar arquivos inteiros na memória de uma vez, ele processa dados em blocos, mantendo um pequeno uso de memória mesmo com arquivos grandes. Isso o torna adequado para ambientes de servidor com recursos limitados — incluindo implantações em nuvem onde a alocação de memória é restrita.


Como Instalar o IronXL?

Começar a usar o IronXL requer uma instalação simples do pacote NuGet. Abra o Console do Gerenciador de Pacotes NuGet no Visual Studio e execute:

Install-Package IronXL
Install-Package IronXL
SHELL

Ou, se você preferir a CLI do .NET:

dotnet add package IronXL
dotnet add package IronXL
SHELL

Uma vez instalado, adicione o namespace IronXL ao seu projeto:

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

Isso fornece acesso a todas as funcionalidades de processamento de CSV sem qualquer dependência de Excel. Para obter mais detalhes, consulte a documentação do IronXL e o guia de instalação do NuGet .

Quais são os Requisitos de Sistema para o IronXL?

O IronXL suporta .NET Framework 4.6.2+ e .NET Core/5/6/7/8/9/10, tornando-o compatível com aplicações modernas e legadas. Ele funciona nas plataformas Windows, Linux e macOS. Para ambientes com necessidades especiais, consulte a página de recursos do IronXL para verificar a compatibilidade da plataforma. Uma licença de teste está disponível para avaliar o conjunto completo de recursos antes da compra.

Como Verificar se a Instalação Foi Bem-sucedida?

Crie um programa de teste que carregue um arquivo CSV para verificar a instalação. Se você se deparar com mensagens de licenciamento, precisará obter uma chave de licença . Verifique as referências de pacote no arquivo do seu projeto para garantir que o IronXL apareça com a versão correta. Execute uma operação básica de leitura de CSV — se ela for concluída sem erros, sua instalação está funcionando corretamente.


Como converter um arquivo CSV para DataTable?

O fluxo de trabalho principal no IronXL envolve apenas algumas linhas de código. Veja como ler um arquivo CSV e convertê-lo em um DataTable usando instruções de nível superior em C# 10+:

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();
}
Imports IronXL
Imports System.Data

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

' Access the default worksheet
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Convert to DataTable with headers
Dim dataTable As DataTable = worksheet.ToDataTable(True)

' Display the data
For Each row As DataRow In dataTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}" & vbTab)
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

O método LoadCSV analisa seu arquivo CSV automaticamente, lidando com campos entre aspas e vírgulas internas. O parâmetro fileFormat informa ao IronXL como interpretar os dados CSV internamente, garantindo que sejam tratados como uma estrutura compatível com o Excel. Uma vez carregado, o método ToDataTable(true) converte a planilha em um DataTable, com o parâmetro true indicando que a primeira linha deve ser usada como cabeçalhos de coluna. Isso resulta em um arquivo CSV limpo e estruturado com colunas nomeadas que correspondem aos seus cabeçalhos. Para opções de manipulação mais avançadas, explore o guia completo de instruções do IronXL .

O processo de conversão também preserva os tipos de dados — os números permanecem numéricos, as datas são analisadas corretamente e os campos de texto mantêm sua formatação. Essa inferência automática de tipo economiza tempo de desenvolvimento considerável em comparação com abordagens de análise manual. Para cenários que exigem formatação de dados personalizada, você pode aplicar a formatação de células antes da conversão.

O que o parâmetro ToDataTable controla?

O parâmetro booleano em ToDataTable() determina o tratamento da linha de cabeçalho. Quando definido como true, a primeira linha se torna nomes de coluna em seu DataTable, criando referências de campo significativas como CustomerName em vez de Column1. Quando false, são atribuídos nomes de coluna genéricos, o que é útil para arquivos CSV sem cabeçalho. Essa flexibilidade suporta vários formatos de CSV encontrados em aplicações do mundo real. Em cenários mais avançados, pode ser necessário abrir pastas de trabalho com opções personalizadas para lidar com vários intervalos de dados.

Como Manipular Arquivos CSV Sem Cabeçalhos?

Para arquivos CSV sem cabeçalho, use ToDataTable(false) e atribua os nomes das colunas manualmente em seguida. Você pode iterar pela coleção Columns e definir nomes significativos com base no seu esquema de dados. Alternativamente, adicione uma linha de cabeçalho ao seu CSV programaticamente antes de carregar. O IronXL também permite criar arquivos Excel do zero, caso você precise adicionar cabeçalhos a dados existentes.

Quais são as Implicações de Desempenho de Arquivos CSV Grandes?

O IronXL processa arquivos CSV grandes de forma eficiente usando técnicas em buffer. Arquivos com menos de 100MB geralmente são carregados em segundos. O uso de memória permanece controlado, independentemente do tamanho do arquivo, devido ao buffering inteligente. Para desempenho ideal com conjuntos de dados massivos, considere processar em lotes usando técnicas de seleção de intervalo. A página de recursos do IronXL documenta as características de desempenho em detalhes.


Como importar um DataTable para o SQL Server?

Depois de obter seu DataTable, importá-lo para o SQL Server torna-se eficiente usando SqlBulkCopy. O exemplo a seguir usa instruções de alto nível em 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");
Imports System.Data
Imports Microsoft.Data.SqlClient
Imports IronXL

' Create connection string
Dim connectionString As String = "Data Source=localhost;Initial Catalog=SalesDB;" &
    "Integrated Security=True;TrustServerCertificate=True;"

' Read CSV into DataTable
Dim workbook As WorkBook = WorkBook.LoadCSV("inventory_report.csv")
Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable(True)

' Bulk insert into SQL Server
Using connection As New SqlConnection(connectionString)
    connection.Open()

    Using bulkCopy As 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)
    End Using
End Using

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

A classe SqlBulkCopy oferece um desempenho robusto para importações de dados em larga escala. A coleção ColumnMappings mapeia colunas DataTable para colunas de banco de dados com nomes diferentes, garantindo flexibilidade em seu esquema de dados. A propriedade BatchSize otimiza o uso de memória processando os registros em partes, em vez de carregar tudo de uma vez. Saiba mais sobre as funcionalidades de importação e exportação da IronXL .

Para integridade de dados adicional, considere implementar suporte a transações em torno de suas operações de cópia em massa. Isso assegura que importações parciais possam ser revertidas se ocorrerem erros. Você também pode usar os recursos de gravação de arquivos Excel do IronXL para pré-validar os dados antes da importação.

Por que BatchSize é importante para o desempenho?

BatchSize controla quantas linhas são enviadas ao SQL Server em cada requisição de rede. Lotes menores (100 a 1000 linhas) reduzem o uso de memória e permitem o monitoramento do progresso, mas aumentam a sobrecarga de rede. Lotes maiores (5000 a 10000 linhas) maximizam a taxa de transferência em redes rápidas, mas consomem mais memória. O tamanho ideal depende da largura da sua linha, latência da rede e memória disponível.

Como lidar com incompatibilidades de mapeamento de colunas?

Incompatibilidades de mapeamento de colunas causam exceções em tempo de execução durante operações de cópia em massa. Verifique sempre se os nomes das colunas de origem DataTable correspondem exatamente às suas definições de mapeamento, incluindo a diferenciação entre maiúsculas e minúsculas. Use o método GetOrdinal para validar a existência da coluna antes do mapeamento. Para esquemas dinâmicos, consulte a estrutura da tabela de destino e construa mapeamentos de forma programática. O guia "Excel para DataSet" da IronXL pode ajudar a padronizar os nomes das colunas antes da importação.

Quais considerações de segurança se aplicam a importações em massa?

As importações em massa exigem permissões elevadas no banco de dados, normalmente as funções db_datawriter ou bulkadmin. Use autenticação integrada sempre que possível para evitar inserir credenciais em strings de conexão. Implemente segurança em nível de linha adicionando colunas de auditoria durante a importação. Sempre valide tipos e intervalos de dados para evitar problemas devido a dados CSV malformados. Revise a página de licenciamento do IronXL se precisar entender os requisitos de implantação empresarial.


Como Lidar com Diferentes Delimitadores CSV?

Nem todos os arquivos CSV usam vírgulas. O IronXL lida com vários delimitadores, tornando-o prático para formatos de dados internacionais ou sistemas legados:

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();
}
Imports IronXL
Imports System
Imports System.Data
Imports System.IO

' --- Tab-delimited file ---
Dim tsvPath As String = "export_data.tsv"
Dim tsvWorkbook As WorkBook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, ControlChars.Tab)

' --- Semicolon-delimited file ---
Dim semiPath As String = "european_data.csv"
Dim tempCsv As String = Path.Combine(Path.GetTempPath(), "european_data_comma.csv")

' Replace semicolons with commas for proper parsing
Dim lines As String() = File.ReadAllLines(semiPath)
For i As Integer = 0 To lines.Length - 1
    lines(i) = lines(i).Replace(";"c, ","c)
Next
File.WriteAllLines(tempCsv, lines)

Dim semiWorkbook As WorkBook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX)

' Print tab-delimited results
Dim tsvTable As DataTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine("--- Tab-delimited File ---")
For Each col As DataColumn In tsvTable.Columns
    Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In tsvTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}{ControlChars.Tab}")
    Next
    Console.WriteLine()
Next

' Print semicolon-delimited results
Dim semiTable As DataTable = semiWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine(vbCrLf & "--- Semicolon-delimited File ---")
For Each col As DataColumn In semiTable.Columns
    Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In semiTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}{ControlChars.Tab}")
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

Este código demonstra o carregamento de arquivos CSV com diferentes delimitadores em objetos IronXL WorkBook. Os arquivos delimitados por tabulação são lidos usando "\t" como separador, enquanto os arquivos delimitados por ponto e vírgula são convertidos para o formato CSV padrão antes do carregamento. Para cenários com formatos de arquivo mais complexos, você também pode explorar a exportação de dados do Excel para diversos formatos.

Quais delimitadores o IronXL suporta nativamente?

O IronXL suporta delimitadores comuns, incluindo vírgulas, tabulações, pipes (|), and custom single-character delimiters through the LoadCSV sobrecarga. Para obter o melhor desempenho, use o parâmetro de delimitador embutido em vez de pré-processar arquivos. Delimitadores de múltiplos caracteres exigem pré-processamento, conforme mostrado no exemplo de ponto e vírgula acima. Você também pode mesclar células na planilha resultante, caso precise reorganizar os dados analisados.

Como detectar automaticamente o delimitador?

A detecção automática de delimitador envolve a análise das primeiras linhas do seu arquivo CSV. Conte as ocorrências de delimitadores comuns (vírgula, tabulação, ponto e vírgula, pipe) em cada linha. O caractere que aparece consistentemente com maior frequência é provavelmente o delimitador. IronXL não fornece detecção automática, mas você pode implementar essa lógica antes de chamar LoadCSV.


Quais são os recursos suportados pelo IronXL além do CSV?

IronXL abrange muito mais do que a leitura de CSV. A biblioteca lida com todo o espectro de operações de Excel e planilhas no C#, tornando-se uma única dependência para aplicativos centrados em dados.

Recurso Descrição Saber mais
Ler arquivos do Excel Carregar arquivos .xlsx, .xls e .csv e acessar dados de células programaticamente Leia o Excel
Escrever arquivos do Excel Crie e modifique planilhas, defina valores, fórmulas e estilos. Escreva em Excel
Criar arquivos do Excel Gere novas pastas de trabalho e planilhas a partir de código. Criar Excel
Exportar para conjunto de dados Converta pastas de trabalho inteiras em objetos DataSet para cenários com várias tabelas. Excel para Conjunto de Dados
Formatação de células Aplique formatos de número, fontes, cores e bordas às células. Formatação de células
Importar dados Preencha planilhas a partir de dados de tabelas de dados, listas ou bancos de dados. Importar dados

Como você exporta um workbook inteiro como um DataSet?

Quando seu arquivo CSV contém várias seções ou você precisa trabalhar com várias planilhas, use o método ToDataSet() no objeto WorkBook. Isso retorna um DataSet contendo um DataTable por planilha. O guia "Excel para DataSet" fornece exemplos de código passo a passo para esse cenário.

Quais opções de licenciamento estão disponíveis?

IronXL está disponível para uso comercial com uma variedade de níveis de licenciamento para adaptar ao tamanho da sua equipe e às suas necessidades de implantação. Uma licença de avaliação gratuita dá acesso ao conjunto completo de recursos para avaliação. A página de licenciamento documenta os planos disponíveis, incluindo redistribuição sem royalties e opções SaaS.


Quais são os próximos passos?

IronXL transforma as importações de bancos de dados CSV em um processo simples e confiável. Com apenas algumas linhas de código, você pode:

  • Leia arquivos CSV de qualquer caminho de arquivo usando a funcionalidade LoadCSV
  • Converter dados CSV em um DataTable com formatação de dados adequada
  • Preservar cabeçalhos de coluna e colunas do DataTable por meio de análise sintática automática. Importe milhões de linhas para uma tabela de banco de dados de forma eficiente usando operações em lote.

A biblioteca lida com as sutilezas da análise de CSV, gerenciamento de memória e conversões de tipos de dados, permitindo que você se concentre na lógica de negócios em vez de detalhes de processamento de arquivos. Seja para criar aplicações ASP.NET , trabalhar com Blazor ou desenvolver aplicativos desktop .NET 10, o IronXL oferece processamento CSV consistente e confiável em todas as plataformas.

Pronto para começar? A documentação do IronXL aborda todos os recursos em detalhes, e uma licença de avaliação permite que você teste a biblioteca completa.

Perguntas frequentes

Qual a melhor maneira de ler arquivos CSV em um DataTable em C#?

Usando o IronXL, você pode ler arquivos CSV em um DataTable de forma eficiente em C# com exemplos de código simples fornecidos em nosso guia do desenvolvedor.

Por que devo usar o IronXL para converter CSV em DataTable?

IronXL oferece uma API simples para analisar arquivos CSV e convertê-los em DataTables, permitindo que você manipule e analise seus dados facilmente em C#.

O IronXL consegue lidar com arquivos CSV grandes ao convertê-los para DataTables?

Sim, o IronXL foi projetado para processar arquivos CSV grandes de forma eficiente e convertê-los em DataTables sem problemas de desempenho.

O IronXL suporta manipulação de dados após a conversão de CSV para DataTable?

Com certeza, depois de converter um arquivo CSV em um DataTable usando o IronXL, você pode manipular e analisar os dados facilmente, conforme necessário.

Como posso importar dados CSV para um banco de dados usando o IronXL?

Após converter seu arquivo CSV em um DataTable com o IronXL, você pode inserir os dados em um banco de dados usando a conectividade padrão de banco de dados em C#.

O IronXL é adequado para processar arquivos CSV em aplicações empresariais?

Sim, o IronXL foi projetado para lidar com tarefas de processamento de CSV em aplicações empresariais, oferecendo desempenho robusto e confiabilidade.

Quais são as vantagens de converter arquivos CSV em DataTables em C#?

A conversão de arquivos CSV para DataTables facilita a manipulação, análise e integração de dados com bancos de dados, aprimorando os recursos de gerenciamento de dados do seu aplicativo.

O IronXL pode ser usado para outros tipos de arquivos de planilha além de CSV?

Sim, o IronXL suporta vários tipos de arquivos de planilha, incluindo formatos do Excel, possibilitando recursos versáteis de processamento de dados em C#.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim