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

Como exportar um `DataTable` para CSV em C#

IronXL permite a conversão perfeita de DataTable para CSV em C# sem exigir a instalação do Microsoft Excel. Esta biblioteca .NET autônoma fornece uma API simples para converter automaticamente DataTables em arquivos CSV com estruturas e delimitadores personalizados, tornando a exportação de dados simples para desenvolvedores.

IronXL é uma biblioteca popular que permite que desenvolvedores interajam com documentos do Microsoft Excel em tecnologias C# .NET, incluindo arquivos CSV, sem precisar do Microsoft Excel instalado. Ela permite a conversão automática de tipos registrados para arquivos CSV e a gravação de arquivos CSV com estruturas personalizadas.

Quais Recursos a Biblioteca IronXL Oferece?

Documentos do Microsoft Excel podem ser lidos e convertidos em arquivos CSV usando a biblioteca C# IronXL .NET. IronXL é uma biblioteca de software .NET autônoma que pode ler uma variedade de formatos de planilha. Não depende de Microsoft.Office.Interop.Excel nem exige a instalação do Microsoft Excel.

Com a ajuda da API C# amigável do IronXL, você pode rapidamente ler, modificar e criar arquivos de planilha Excel no ambiente .NET. .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS e Azure são totalmente suportados pelo IronXL.

  • As principais bibliotecas de planilhas Excel .NET Core e .NET Framework para C# incluem IronXL.
  • Praticamente todos os Frameworks .NET são suportados, incluindo Aplicações de Console, Windows Forms e Aplicações Web.
  • IronXL opera em sistemas operacionais Windows, Linux e macOS.
  • IronXL torna a leitura de arquivos Excel simples e rápida.
  • IronXL suporta múltiplos formatos de Excel: arquivos XLSX, XLS, CSV, TSV, XLST e XLSM.
  • IronXL exporta arquivos para vários formatos, incluindo XLS, CSV, TSV, JSON e XML.
  • IronXL gera cálculos de Excel e suporta fórmulas.
  • IronXL suporta formatos de dados de colunas de Excel incluindo texto, números, datas, moedas e percentuais.

Para mais detalhes, visite a Visão Geral da Documentação do IronXL.

Como faço para criar um novo projeto no Visual Studio?

No Visual Studio, um projeto .NET deve ser criado antes que o framework IronXL possa ser usado. Qualquer edição do Visual Studio funcionará, mas a mais recente é recomendada. Dependendo das suas necessidades, você pode construir uma aplicação Windows Forms ou diferentes modelos de projeto. Para manter as coisas simples, este tutorial usará a Aplicação de Console.

Diálogo de Criar Novo Projeto do Visual Studio mostrando vários modelos de projeto .NET, incluindo as opções de Aplicativo de Console, Aplicativo Web ASP.NET Core e Aplicativo do Servidor Blazor. Crie um novo projeto no Visual Studio.

Depois disso, insira o nome e o local do projeto.

Diálogo de configuração de projeto do Visual Studio mostrando a configuração para um novo Aplicativo de Console C# com nome de projeto 'ConsoleApp1', direcionado para Windows com saída no Console. Configure o novo projeto

Em seguida, selecione a seguinte estrutura. .NET Core 6 será usado neste projeto.

Diálogo de criação de projeto do Visual Studio mostrando a configuração do Aplicativo de Console com .NET 6.0 (Suporte de longo prazo) selecionado como o framework. Selecione uma versão do .NET Framework

O arquivo program.cs será aberto após a aplicação gerar a solução para que você possa inserir o código do programa e construir/executar a aplicação.

Janela de aplicativo de console C# vazia no Visual Studio mostrando o projeto IronXLConsole com estrutura inicial de código pronta para implementar a funcionalidade de exportação para CSV. O projeto de Aplicação de Console recém-criado

A biblioteca pode então ser adicionada e usada para avaliar o código. Para outros tipos de projetos como aplicações .NET MAUI ou projetos VB.NET, o processo é similar, mas com considerações específicas do framework.

Como Instalo a Biblioteca IronXL?

Existem quatro métodos para baixar e instalar a Biblioteca IronXL.

Os quais são:

  • Instalando via Visual Studio
  • Instalando usando o Console do Gerenciador de Pacotes do Visual Studio
  • Baixando diretamente do site NuGet Baixando diretamente do site IronXL

Qual método devo usar para instalação do Visual Studio?

Usando o NuGet Package Manager, o módulo IronXL pode ser instalado. Para encontrar IronXL, você deve primeiro iniciar o NuGet Package Manager e depois procurar na aba de navegação. Instale o IronXL escolhendo-o nas listagens de busca. Depois disso, a biblioteca IronXL poderá usar este aplicativo.

A imagem abaixo demonstra como iniciar o NuGet Package Manager do Visual Studio.

Menu Ferramentas do Visual Studio expandido mostrando a opção Gerenciador de Pacotes NuGet e Console do Gerenciador de Pacotes destacado no menu suspenso Ferramentas. Acesse o Gerenciador de Pacotes NuGet.

Interface do Gerenciador de Pacotes NuGet mostrando o pacote IronXl.Excel com versão 2022.3.0, exibindo 133K downloads e o botão Instalar para fácil integração. Instalar pacote IronXL na interface do NuGet Package Manager

Quando devo usar o Console do Gerenciador de Pacotes?

Muitos desenvolvedores preferem usar um console para realizar tarefas. Portanto, a instalação via terminal também é uma opção. Para instalar o IronXL usando a linha de comando, siga as instruções abaixo.

  • Navegue até Ferramentas > NuGet Package Manager > interface do Gerenciador de Pacotes no Visual Studio.
  • Insira o seguinte comando na aba de console do gerenciador de pacotes:

    Install-Package IronXl.Excel
  • Aguarde o download e instalação do IronXL no projeto ativo.

Console do Gerenciador de Pacotes no Visual Studio mostrando o comando 'Install-Package IronXl.Excel' com mensagens de confirmação de instalação bem-sucedida. Instalar o pacote IronXL na interface do Console do Gerenciador de Pacotes

Por que eu baixaria do site do NuGet?

O pacote NuGet pode ser baixado diretamente do site como uma terceira opção. Este método é particularmente útil ao trabalhar em ambientes com acesso restrito à internet ou quando você precisa gerenciar pacotes manualmente.

  • Navegue para o link oficial do NuGet.
  • A opção de download do pacote pode ser encontrada no menu à direita.
  • Clique duas vezes no arquivo salvo. Ele será instalado imediatamente.
  • Recarregue a solução depois disso e comece a utilizá-lo no projeto.

Como faço para instalar diretamente do site da IronXL?

Para baixar o pacote mais recente direto do site, clique neste link para baixar um arquivo ZIP do IronXL. Este link irá baixar um arquivo ZIP contendo a versão mais recente da biblioteca DLL do IronXL. Assim que o download terminar, extraia o conteúdo do arquivo ZIP para qualquer diretório de sua escolha.

Para adicionar o arquivo ao projeto após o download, siga os passos listados abaixo.

  • Na janela da solução, clique com o botão direito no projeto.
  • Selecione Referências e, em seguida, navegue até a pasta extraída que contém os DLLs do IronXL.
  • Selecione o DLL e clique em OK para adicioná-lo ao projeto ativo como uma Referência.

Para cenários de implantação, você também pode configurar IronXL em contêineres Docker ou implantar em plataformas na nuvem como AWS Lambda e Azure Functions.

Como Exporto um DataTable para Arquivo CSV?

DataTables pode ser facilmente e rapidamente exportado para arquivos CSV usando IronXL. Ele ajuda a escrever dados em novos arquivos CSV com suporte para delimitadores personalizados e opções de codificação.

Primeiro, como mostrado na imagem de código abaixo, o namespace IronXL deve ser incluído para usar as classes e métodos do IronXL.

Editor de código C# mostrando declarações de namespace 'using IronXL;' e 'using System.Data;' com destaque de sintaxe para implementação de exportação de DataTable para CSV. Adicione namespaces comuns

Arquivos Excel podem ser criados usando IronXL, que então os transforma em WorkBook objetos. Em seguida, realize várias operações nesses objetos. O código de exemplo abaixo irá criar um arquivo Excel convertendo um DataTable em uma planilha Excel.

using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
$vbLabelText   $csharpLabel

O código acima exporta o DataTable para um arquivo Excel. Os títulos das colunas são criados uma vez que um DataTable é criado. Em seguida, adicione as linhas uma de cada vez após estabelecer a primeira coluna. O objeto WorkBook é criado após adicionar as colunas e linhas ao objeto DataTable para armazenar esses dados. O objeto WorkSheet é então construído, sendo adicionado ao objeto WorkBook.

Cada valor do DataTable é lido e adicionado usando um loop foreach antes de adicionar o valor ao WorkSheet. Após todos os valores terem sido adicionados à planilha, o método SaveAsCsv os salva em um arquivo CSV. Você pode especificar tanto o delimitador quanto a localização do arquivo como parâmetros.

Para cenários mais complexos, você pode querer exportar múltiplas DataTables como planilhas diferentes ou trabalhar com DataSets para uma organização de dados mais estruturada.

Trabalhando com Diferentes Formatos de CSV

IronXL oferece flexibilidade ao trabalhar com arquivos CSV. Aqui está um exemplo mostrando como exportar um DataTable com formatação e codificação personalizadas:

// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
$vbLabelText   $csharpLabel

Esta abordagem lhe dá mais controle sobre o processo de exportação, permitindo que você defina formatos de dados de célula e personalize a estrutura de saída.

Planilha Excel mostrando uma lista de frutas (Maçã, Laranja, morango, uvas, melancia, bananas, limões) na coluna A com formatação CSV adequada e sem delimitadores extras. O arquivo CSV de saída

A saída do exemplo de código em execução é mostrada acima. Na captura de tela, cada pedaço de dados da tabela de dados foi adicionado individualmente à nova planilha do Excel formada. Você também pode aplicar formatação às células antes de exportar ou adicionar fórmulas para valores calculados.

Para operações CSV mais avançadas, você pode:

Para saber mais sobre o tutorial do IronXL clique neste como exportar para formatos Excel.

Por que devo usar IronXL para Exportação CSV?

Uma das ferramentas Excel mais populares é o IronXL. Ele não depende de nenhuma outra biblioteca de fontes externas. É autônomo e não requer a instalação do Microsoft Excel. Opera em vários canais.

IronXL fornece uma solução completa para todas as tarefas relacionadas a documentos do Microsoft Excel a serem implementadas programaticamente. Você pode realizar cálculo de fórmula, classificação de strings ou números, cortar e anexar, buscar e substituir, mesclar e desmesclar, salvar arquivos, etc. Você também pode definir formatos de dados de célula juntamente com validar dados da planilha. Ele também suporta leitura e escrita de arquivos CSV e ajuda você a trabalhar como dados do Excel.

Benefícios adicionais incluem:

O preço inicial do IronXL no lançamento é $799. Ele também oferece aos usuários a opção de pagar uma taxa de assinatura de um ano para assistência ao produto e atualizações. Por uma taxa adicional, IronXL oferece segurança para redistribuição irrestrita. Para pesquisar informações de preços mais aproximadas, por favor visite esta página de licenciamento.

Perguntas frequentes

Como posso exportar um DataTable para um arquivo CSV em C#?

Você pode usar o IronXL para exportar um DataTable para um arquivo CSV criando uma WorkBook e exportando os dados para objetos de planilha. Isso permite uma conversão e exportação perfeitas sem a necessidade do Microsoft Excel.

Quais formatos de arquivo posso exportar usando esta biblioteca?

O IronXL permite exportar dados para vários formatos, como XLS, CSV, TSV e JSON, proporcionando flexibilidade para lidar com diferentes necessidades de dados.

É possível realizar operações semelhantes às do Excel com esta biblioteca?

Sim, o IronXL permite operações semelhantes às do Excel, como cálculos de fórmulas, classificação de dados e salvamento de arquivos, tornando-se uma ferramenta completa para tarefas de programação relacionadas ao Excel.

Preciso instalar o Microsoft Excel para usar esta biblioteca?

Não, o IronXL é uma biblioteca .NET independente que não requer a instalação do Microsoft Excel, permitindo que os desenvolvedores trabalhem com documentos do Excel diretamente em seus aplicativos C#.

Quais plataformas são compatíveis com esta biblioteca?

O IronXL é compatível com diversas plataformas, incluindo .NET Core, .NET Framework, Xamarin, bem como sistemas operacionais como Windows, Linux e macOS.

Como posso instalar a biblioteca IronXL no meu projeto?

O IronXL pode ser instalado em um projeto .NET usando o Visual Studio, acessando o Gerenciador de Pacotes NuGet ou baixando-o diretamente dos sites do NuGet ou do IronXL.

Quais são as opções de preços disponíveis para esta biblioteca?

A IronXL oferece um preço inicial com opções de assinatura anual que inclui assistência e atualizações do produto, proporcionando suporte contínuo e acesso aos recursos mais recentes.

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

Iron Support Team

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