IRONSOFTWAREHOME
USANDO O IRONXL

Como converter um conjunto de dados para CSV em C#

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

O artigo a seguir demonstrará como converter um conjunto de dados C# em um arquivo CSV.

IronXL é uma ótima solução para trabalhar com planilhas, seja em formato CSV ou arquivos Excel. IronXL é gratuito para desenvolvimento, fácil de usar e fornece funcionalidades extensas para trabalhar com qualquer tipo de planilha. É seguro e oferece alto desempenho. Antes de prosseguir, vamos ter uma breve introdução ao IronXL.

IronXL

IronXL é uma biblioteca da Iron Software que permite que desenvolvedores C# leiam, gerem e editem Excel (e outros arquivos de planilhas) em aplicativos e sites .NET.

IronXL é uma maneira rápida e fácil de trabalhar com Excel e outros arquivos de planilha em C# e .NET. IronXL funciona bem com .NET Framework, .NET Core e Azure sem a necessidade de Interop do Excel do Office. O IronXL também não requer a instalação do Microsoft Office ou inclui qualquer outra dependência do tipo.

Vamos mergulhar na criação e escrita do código para criar um arquivo CSV para um conjunto de dados.

Criar um novo projeto do Visual Studio

Abra o IDE do Visual Studio; A versão mais recente do Visual Studio é recomendada, mas você pode usar qualquer uma de acordo com sua preferência. Observe que os passos para criar um novo projeto podem diferir de versão para versão.

Como Converter Dataset para CSV em C#, Figura 1: janela inicial do Visual Studio Janela inicial do Visual Studio

Clique em Criar um Novo Projeto. Uma nova janela será aberta, conforme mostrado abaixo.

Como Converter Dataset para CSV em C#, Figura 2: Criar um novo projeto no Visual Studio Crie um novo projeto no Visual Studio.

Selecione seu modelo de projeto preferido na lista. Clique no botão Avançar, e uma nova janela aparecerá conforme mostrado abaixo.

Como Converter Dataset para CSV em C#, Figura 3: Configurar o projeto recém-criado Configure o projeto recém-criado

Dê um nome ao seu projeto, selecione seu local e pressione o botão Avançar. Uma nova janela será aberta, conforme mostrado abaixo.

Como Converter Dataset para CSV em C#, Figura 4: Selecionar uma versão do .NET Framework Selecione uma versão do .NET Framework

Selecione o .NET Framework de destino. Você pode selecionar qualquer .NET Framework que atenda às suas necessidades, pois o IronXL suporta todos os .NET Framework. Este tutorial usará o .NET 7. Clique no botão Criar, e um novo projeto será criado, como mostrado abaixo.

Como Converter Dataset para CSV em C#, Figura 5: uma nova Aplicação de Console no Visual Studio um novo Aplicativo de Console no Visual Studio

Agora, instale o Pacote NuGet do IronXL para usá-lo nesta aplicação.

Instale o IronXL

Abra o Console do Gerenciador de Pacotes NuGet e insira o seguinte comando.

PM > Install-Package IronXL.Excel

O Pacote NuGet será instalado e pronto para uso, como mostrado abaixo.

Como Converter Dataset para CSV em C#, Figura 6: A instalação do pacote IronXL e suas dependências A instalação do pacote IronXL e suas dependências de pacote

Agora, vamos escrever algum código para converter um conjunto de dados em um arquivo CSV em C#.

Este exemplo irá povoar dados de um banco de dados do SQL Server. Após obter o conjunto de dados do banco de dados SQL, criaremos um arquivo CSV usando esses dados de entrada.

Crie a Tabela de Dados

O primeiro passo é povoar dados do SQL, mas você pode usar qualquer fonte de dados que preferir.

Este tutorial utiliza os seguintes dados:

Como Converter Dataset para CSV em C#, Figura 7: Criar um novo banco de dados com dados de exemplo Crie um novo banco de dados com dados de amostra

Aqui está o script SQL para criar os dados de amostra:

USE Test_DB;

CREATE TABLE STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');
Text

O seguinte código C# é usado para exportar a tabela de dados para um arquivo CSV.

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

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}

Explicação do código

  • O método GetData() recupera dados de um banco de dados SQL Server e os retorna como um DataTable.

  • No método Main, um WorkBook é criado usando o IronXL, e os dados são então populados em um WorkSheet.

  • Um loop foreach itera através das linhas do DataTable, inserindo cada valor em uma nova linha no WorkSheet.

  • Finalmente, o arquivo CSV é salvo usando a função SaveAsCsv fornecida pelo IronXL.

Saída

O arquivo CSV gerado por este programa é o seguinte:

Como Converter Dataset para CSV em C#, Figura 8: O arquivo de saída CSV O arquivo de saída CSV

É claro que o arquivo CSV é gerado corretamente e está alinhado com a entrada fornecida.

Resumo

Este artigo demonstrou como criar um arquivo CSV em C# a partir de um conjunto de dados. A biblioteca também pode ler arquivos CSV usando C#. O conjunto de dados de um banco de dados SQL Server é populado e cria um arquivo CSV em três etapas:

  1. Obtenha dados do SQL Server.
  2. Popule dados em uma tabela de dados.
  3. Crie um arquivo CSV a partir dessa tabela de dados.

É muito fácil criar um arquivo CSV no .NET 7 usando o IronXL, conforme demonstrado acima. O desempenho do programa é excepcional, pois é escrito em .NET 7 com IronXL. O IronXL oferece outros recursos úteis, como criar, ler e manipular arquivos Excel. Para mais detalhes, por favor, visite a documentação oficial.

Além disso, o IronPDF oferece aos desenvolvedores métodos para renderizar documentos PDF em imagens e extrair texto e conteúdo de um PDF. Além disso, o IronPDF também é capaz de renderizar gráficos em PDFs, adicionar códigos de barras, melhorar a segurança com senhas programaticamente.

A versão gratuita do IronXL é usada para fins de desenvolvimento. Para implantar uma aplicação em produção, obtenha uma versão de teste gratuita ou uma licença comercial. O IronXL faz parte do Iron Suite, que consiste em cinco bibliotecas:

  1. IronXL, que é explorado hoje.
  2. IronPDF para gerar, ler e manipular arquivos PDF
  3. IronOCR para trabalhar extraindo texto de imagens
  4. IronBarcode para leitura e geração de código de barras
  5. IronWebScraper para extrair dados estruturados de sites.

Você pode obter todos esses produtos pelo preço de dois se comprados juntos.

Curtis Chau
Redator Técnico

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.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.