How to Use C# to Convert Datatable to CSV
Converta um DataTable para CSV em C# usando IronXL criando um WorkBook, preenchendo-o com linhas DataTable, e chamando o método SaveAsCsv() - sem loops complexos ou Interop necessário.
DataTable para CSV
Use IronXL para converter um DataTable preenchido em um arquivo CSV com uma chamada de método—sem loops, sem Interop, sem complexidade. Você precisa apenas de um WorkBook e seu DefaultWorkSheet para exportar em segundos usando SaveAsCsv.
-
1Install IronXL with NuGet Package Manager
-
2Copie e execute este trecho de código.
IronXL.WorkBook.Create().DefaultWorkSheet.SaveAsCsv("output.csv", ",");C# -
3Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe e instale a biblioteca de conversão DataTable para CSV em C#
- Utilize a classe
DataTablepara armazenar novos dados - Criar uma nova planilha ou importar uma planilha existente
- Percorra as linhas da tabela e preencha as células da planilha de acordo com os valores recebidos.
- Exportar para arquivo CSV com a função C#
SaveAsCsv
Passo 1
Como Instalo o IronXL no Meu Projeto?
Você deve instalar o IronXL antes de usá-lo em suas aplicações. IronXL oferece várias opções de instalação para seus projetos. IronXL é uma biblioteca que simplifica o trabalho com arquivos Excel em C# sem exigir a instalação do Microsoft Excel ou Interop.
Qual método de instalação devo usar?
Baixe do site oficial usando o seguinte link: https://ironsoftware.com/csharp/excel/docs/
or
- No Visual Studio, selecione o menu Projeto
- Clique em Gerenciar Pacotes NuGet
- Pesquise por
IronXL.Excel - Clique em Instalar
Qual Comando NuGet Devo Usar?
Por Que Escolher o Gerenciador de Pacotes NuGet?
NuGet é o método preferido para desenvolvedores .NET porque gerencia automaticamente dependências e mantém bibliotecas atualizadas. O pacote IronXL inclui todos os componentes necessários para converter tipos de arquivos de planilhas e trabalhar com vários formatos do Excel.
Tutorial de Como Fazer
Como criar e exportar um DataTable para CSV?
O processo de conversão de um DataTable para CSV envolve criar um WorkBook, preenchê-lo com dados, e usar a funcionalidade de escrita CSV integrada do IronXL. Essa abordagem é mais eficiente do que construir strings CSV manualmente ou usar métodos tradicionais de streaming de arquivo.
Qual Namespace Preciso Importar?
Primeiro, importe o namespace IronXL. IronXL fornece suporte abrangente para importar e exportar objetos DataSet e DataTable, tornando-o ideal para aplicativos orientados a banco de dados.
using IronXL;Imports IronXLQual é o Exemplo Completo de Código?
Adicione o seguinte código:
using IronXL;
using System;
using System.Data;
// Create a new DataTable object
DataTable table = new DataTable();
// Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", typeof(string));
// Add rows to the DataTable
table.Rows.Add("0");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
// Create a new Excel workbook and set its author metadata
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "OJ";
// Get the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;
// Initialize rowCounter for Excel sheet rows
int rowCount = 1;
// Loop through each row in the DataTable and add the data to the Excel worksheet
foreach (DataRow row in table.Rows)
{
// Populate worksheet cells with data from DataTable
ws["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csvImports IronXL
Imports System
Imports System.Data
' Create a new DataTable object
Dim table As New DataTable()
' Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", GetType(String))
' Add rows to the DataTable
table.Rows.Add("0")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
' Create a new Excel workbook and set its author metadata
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "OJ"
' Get the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet
' Initialize rowCounter for Excel sheet rows
Dim rowCount As Integer = 1
' Loop through each row in the DataTable and add the data to the Excel worksheet
For Each row As DataRow In table.Rows
' Populate worksheet cells with data from DataTable
ws("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next
' Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csvComo o Código Funciona Passo a Passo?
O código acima cria um DataTable, cria um novo workbook especificando 'OJ' como seu proprietário, e então usa um loop foreach para inserir dados do DataTable na planilha do Excel. Finalmente, o método SaveAsCsv exporta o datatable para CSV.
A divisão do processo:
-
Criação de DataTable: Inicialize um novo
DataTablee defina seu esquema adicionando colunas. Isso se assemelha à definição de uma estrutura de tabela de banco de dados. -
População de Dados: Adicione linhas ao
DataTableusando o métodoRows.Add(). Cada linha representa um registro para exportação CSV. -
Geração de Workbook: O método
WorkBook.Create()do IronXL inicializa um novo workbook do Excel. Você também pode criar planilhas com várias abas, se necessário. -
População de Célula: O loop foreach itera através das linhas
DataTablee mapeia cada valor para uma célula específica da planilha usando a sintaxe de referência de célula (por exemplo, "A1", "A2"). -
Exportação CSV: O método
SaveAsCsv()lida com complexidades de formatação CSV, incluindo o escape adequado de caracteres especiais e manipulação de delimitadores.
E Sobre Cenários Avançados de DataTable?
Para DataTables complexos com múltiplas colunas, estenda o código assim:
// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));
--snip--
workbook.SaveAsCsv("products.csv", ",");' Create a DataTable with multiple columns
Dim advancedTable As New DataTable()
advancedTable.Columns.Add("ID", GetType(Integer))
advancedTable.Columns.Add("Name", GetType(String))
advancedTable.Columns.Add("Price", GetType(Decimal))
' --snip--
workbook.SaveAsCsv("products.csv", ",")Qual é a aparência do resultado?
A planilha do Excel resultante exibe-se da seguinte maneira:
Como lidar com grandes DataTables?
Ao trabalhar com grandes DataTables contendo milhares de linhas, IronXL mantém excelente desempenho. A biblioteca lida eficientemente com conjuntos de dados substanciais. Para ambientes de produção, aplique sua chave de licença para remover marcas d'água e habilitar funcionalidade completa.
E Sobre o Tratamento de Erros?
Sempre implemente o tratamento adequado de erros ao trabalhar com operações de arquivos:
try
{
// Your DataTable to CSV conversion code
WorkBook wb = WorkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Error creating CSV: {ex.Message}");
}Try
' Your DataTable to CSV conversion code
Dim wb As WorkBook = WorkBook.Create()
' ... rest of the code
wb.SaveAsCsv("output.csv", ",")
Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
Console.WriteLine($"Error creating CSV: {ex.Message}")
End TryAcesso rápido à biblioteca
Documentação de Referência da API IronXL
Saiba mais e compartilhe como mesclar, desmesclar e trabalhar com células em planilhas do Excel usando a prática Documentação de Referência da API IronXL.
Documentação de Referência da API IronXLPerguntas frequentes
Como faço para converter um DataTable em CSV em C# sem escrever loops complexos?
IronXL oferece uma solução simples de uma linha para converter DataTable em CSV. Depois de criar uma WorkBook e preenchê-la com os dados do seu DataTable, você pode usar o método SaveAsCsv() para exportar diretamente para o formato CSV sem precisar escrever loops ou usar Interop.
Quais são as opções de instalação da biblioteca de conversão de DataTable para CSV?
O IronXL pode ser instalado através do Gerenciador de Pacotes NuGet no Visual Studio, pesquisando por 'IronXL.Excel' ou usando a linha de comando do NuGet. Este é o método preferencial, pois gerencia automaticamente as dependências e mantém a biblioteca atualizada.
Preciso ter o Microsoft Excel instalado para converter um DataTable em CSV?
Não, o IronXL funciona de forma independente, sem exigir a instalação do Microsoft Excel ou do Interop. É uma biblioteca independente que simplifica o trabalho com arquivos do Excel e exportações CSV em aplicações C#.
Que namespace preciso importar para a conversão de DataTable para CSV?
Você precisa importar o namespace IronXL adicionando 'using IronXL;' no início do seu arquivo C#. Isso fornece acesso a suporte completo para importação e exportação de objetos DataSet e DataTable.
Posso especificar um delimitador personalizado ao exportar para CSV?
Sim, o método SaveAsCsv() do IronXL permite especificar um delimitador personalizado. No exemplo de código, uma vírgula ("") é usada como delimitador, mas você pode alterá-la para qualquer caractere que atenda às suas necessidades.
How does IronXL handle large DataTables?
IronXL is designed to efficiently manage large DataTables, ensuring excellent performance even with datasets containing thousands of rows. It's optimized for handling substantial data workloads in production environments.
What should I do if I encounter errors during CSV export?
Implement proper error handling using try-catch blocks in your code. This approach will help you catch exceptions and provide informative error messages, ensuring the stability of your CSV export process.
Why is NuGet the preferred installation method for IronXL?
NuGet is favored by .NET developers because it automatically manages dependencies, ensures library versions are current, and simplifies the integration process. IronXL installed via NuGet includes all necessary components for handling Excel files.
What is the output format when exporting a DataTable to CSV using IronXL?
The output is a well-structured CSV file where each row of the DataTable corresponds to a line in the CSV, and each column corresponds to a field. IronXL ensures the correct formatting, handling delimiters and special characters.
How do I apply my IronXL license key to avoid watermarks?
To remove watermarks and unlock full functionality, apply your IronXL license key in a production environment by setting it through the IronXL library's licensing method. This ensures your exports are unmarked and ready for distribution.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

