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

Como escrever dados em um arquivo CSV em C#

Este artigo explorará como escrever um arquivo CSV usando o IronXL.

Biblioteca IronXL

IronXL é uma biblioteca .NET Excel que oferece funcionalidades abrangentes para criar, ler e editar arquivos de planilha em aplicações C#. Ela se destaca em termos de desempenho e precisão de saída. Ela suporta vários formatos de arquivo de livro de planilha como XLS, XLSX, XLSM, CSV e TSV. Além disso, permite salvar ou exportar dados de arquivos Excel para formatos como CSV, JSON, HTML, Binário, Byte Array, DataSet ou DataTable.

Com IronXL, os desenvolvedores podem trabalhar perfeitamente com planilhas e intervalos de células, fornecendo uma abordagem elegante para manipulação de dados. Ela permite a edição fácil de fórmulas e facilita o recálculo de fórmulas dentro de uma planilha. Classificar dados com base em intervalo, coluna ou linha é direto. Você também pode modificar layouts congelando painéis, ajustando automaticamente linhas/colunas e adicionando/removendo linhas/colunas.

IronXL oferece capacidade de proteger arquivos Excel com senhas de usuário e definir permissões para edição. Além disso, ele fornece recursos para adicionar, remover e extrair imagens de planilhas do Excel. A biblioteca inclui uma ampla gama de funções do Excel, suportando diversos formatos de dados de células. Isso torna o IronXL uma das APIs mais intuitivas para trabalhar com arquivos do Excel.

Uma vantagem notável do IronXL é que ele não requer que o Microsoft Excel ou dependências do Office Interop sejam instalados na máquina. É uma solução independente que funciona em várias plataformas e é compatível com as versões .NET 7, 6 e 5. Também oferece suporte ao .NET Core 2 e 3, bem como à versão padrão 2. Para trabalhar com planilhas do Excel, o IronXL é compatível com o .NET Framework 4.5 e versões posteriores.

Criar um aplicativo de console

A versão mais recente do Visual Studio é recomendada para criar uma aplicação para começar. O Visual Studio é o IDE oficial para desenvolvimento em C#, e você deve tê-lo instalado. Você pode baixá-lo do site da Microsoft Visual Studio, se não estiver instalado.

Os passos a seguir criarão um novo projeto chamado "DemoApp".

  1. Abra o Visual Studio e clique em "Criar um novo projeto".

    Como Escrever Dados em Arquivo CSV em C#, Figura 1: Abra o Visual Studio Abrir o Visual Studio

  2. Selecione Aplicativo de Console e clique em 'Próximo'.

    Como Escrever Dados em Arquivo CSV em C#, Figura 2: Crie um novo projeto no Visual Studio Criar um novo projeto no Visual Studio

  3. Defina o nome do projeto

    Como Escrever Dados em Arquivo CSV em C#, Figura 3: Configure seu novo projeto Configure seu novo projeto

  4. Selecione a versão do .NET . Escolha a versão estável .NET 6.0.

    Como Escrever Dados em Arquivo CSV em C#, Figura 4: Seleção do .NET Framework Seleção do .NET Framework

Instalar a Biblioteca IronXL

Uma vez que o projeto é criado, a biblioteca IronXL precisa ser instalada no projeto para usá-la. Siga estes passos para instalá-lo.

  1. Abra o Gerenciador de Pacotes NuGet, seja pelo Solution Explorer ou ferramentas.

    Como Escrever Dados em Arquivo CSV em C#, Figura 5: Navegue até o Gerenciador de Pacotes NuGet Navegar até o Gerenciador de Pacotes NuGet

  2. Procure pela Biblioteca IronXL e selecione o projeto atual. Clique em instalar.

    Como Escrever Dados em Arquivo CSV em C#, Figura 6: Pesquise e instale o pacote IronXL na interface do Gerenciador de Pacotes NuGet Pesquisar e instalar o pacote IronXL na interface do Gerenciador de Pacotes NuGet

Adicione o seguinte namespace no início do arquivo Program.cs:

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Create a New Workbook in C#

O IronXL fornece a funcionalidade para criar um livro em branco. Um livro é uma planilha que contém várias folhas de trabalho. Os dados são armazenados em células. CSV também se parece com uma planilha, mas com uma extensão de arquivo CSV.

// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();
$vbLabelText   $csharpLabel

Agora, vamos criar uma planilha no WorkBook. Existem várias maneiras de criar uma folha de trabalho no livro.

// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
$vbLabelText   $csharpLabel

Se você quiser adicionar mais planilhas ao seu livro de trabalho existente, então use o método CreateWorkSheet.

Nota: Você pode usar o método WorkBook.LoadCSV se o arquivo CSV já existir. Você pode ver esta página de exemplo de código para carregar um arquivo CSV existente.

Escrever Dados no WorkSheet

Escrever arquivos CSV é fácil usando o IronXL. Ele fornece recursos do Excel para escrever dados em CSVs. Referências de célula podem ser usadas para adicionar os valores em locais especificados. Aqui, vou adicionar alguns registros de vários funcionários usando um loop foreach.

// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

// Starting row for data entry
int i = 2;

// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";

// Populate each row with employee data
foreach (var employee in employeeNames)
{
    // Set values for ID, Name, and Salary
    sheet["A" + i].Value = i;
    sheet["B" + i].Value = employee;
    sheet["C" + i].Value = i * 1000;
    i++;
}
$vbLabelText   $csharpLabel

No exemplo de código acima, um array de employeeNames é criado, e a primeira linha é configurada com cabeçalhos: ID, Nome, Salário. Uma variável i também é inicializada com o valor 2, que inserirá os registros a partir da 2ª linha abaixo dos cabeçalhos. O loop foreach processa cada funcionário da lista e os adiciona à linha atual com os valores de ID e salário. Antes que o loop seja concluído, i é incrementado para mover para a próxima linha para o próximo registro.

Salve os Dados em um arquivo CSV

A última etapa é salvar o arquivo CSV. O IronXL fornece o método SaveAsCsv para salvar o livro de trabalho como um arquivo CSV. O primeiro parâmetro desse método é o nome do arquivo CSV e o segundo é o delimitador.

// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
$vbLabelText   $csharpLabel

O código completo é o seguinte:

using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
using System;
using IronXL;

class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

        // Initialize an array of employee names
        string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };

        // Starting row for data entry
        int i = 2;

        // Setting header titles for the columns
        sheet["A1"].Value = "ID";
        sheet["B1"].Value = "Name";
        sheet["C1"].Value = "Salary";

        // Populate each row with employee data
        foreach (var employee in employeeNames)
        {
            // Set values for ID, Name, and Salary
            sheet["A" + i].Value = i;
            sheet["B" + i].Value = employee;
            sheet["C" + i].Value = i * 1000;
            i++;
        }

        // Save the modified workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("sample.csv", ",");
    }
}
$vbLabelText   $csharpLabel

Saída

Como Escrever Dados em Arquivo CSV em C#, Figura 7: O arquivo CSV de saída O arquivo CSV de saída

Resumo

Este artigo apresenta uma abordagem simples para escrever um arquivo CSV usando IronXL em C#. O IronXL também fornece a facilidade de trabalhar com arquivos CSV existentes sem complicações. Ele também permite que você escreva arquivos CSV, crie novos arquivos Excel e escreva dados neles com uma sintaxe simples. O IronXL também pode ser usado para ler e escrever arquivos Excel sem o Microsoft Office instalado. Para conversão entre diferentes formatos de planilha, você pode ver esta página de exemplo de código.

O IronXL é gratuito para desenvolvimento e pode ser licenciado para uso comercial. Você também pode experimentar a versão de teste gratuita do IronXL para uso comercial.

Perguntas frequentes

Como posso escrever dados em um arquivo CSV em C#?

Você pode usar o método `SaveAsCsv` do IronXL para exportar dados para um arquivo CSV em C#. Primeiro, crie uma pasta de trabalho e uma planilha, insira os dados nas células e, em seguida, use `workBook.SaveAsCsv("filename.csv", ",");` para salvar os dados como um arquivo CSV.

Quais são os passos para criar uma aplicação de console para escrever arquivos CSV em C#?

Para criar um aplicativo de console para escrever arquivos CSV, configure um novo projeto no Visual Studio, selecione a versão apropriada do .NET e instale o IronXL através do Gerenciador de Pacotes NuGet. Em seguida, use o IronXL para criar uma pasta de trabalho, adicionar dados a uma planilha e salvá-la como um arquivo CSV.

Posso escrever dados em um arquivo CSV sem usar o Microsoft Excel?

Sim, você pode escrever dados em um arquivo CSV sem o Microsoft Excel usando o IronXL. Ele permite a manipulação programática de arquivos Excel e CSV sem a necessidade de instalar o Excel.

Como faço para instalar o IronXL em um projeto do Visual Studio?

Você pode instalar o IronXL abrindo o Gerenciador de Pacotes NuGet no Visual Studio, pesquisando por 'IronXL' e clicando em 'Instalar' para adicioná-lo ao seu projeto. Isso permitirá que você use as funcionalidades do IronXL para manipular arquivos Excel e CSV.

Quais formatos de arquivo o IronXL suporta para exportação?

O IronXL suporta a exportação de dados para diversos formatos, incluindo CSV, JSON, HTML, binário, matriz de bytes, conjunto de dados e tabela de dados, tornando-o versátil para diferentes necessidades de manipulação de dados.

O IronXL é compatível com diferentes versões do .NET?

Sim, o IronXL é compatível com várias versões do .NET, incluindo .NET Core 2 e 3, bem como .NET 5, 6 e 7, proporcionando aos desenvolvedores flexibilidade em diferentes ambientes de desenvolvimento.

Posso usar o IronXL para projetos comerciais?

Sim, o IronXL pode ser licenciado para fins comerciais. Ele também oferece um período de teste gratuito para desenvolvimento, permitindo que os desenvolvedores testem seus recursos antes de adquirir uma licença comercial.

Como faço para criar uma nova pasta de trabalho e planilha em C# usando o IronXL?

Você pode criar uma nova pasta de trabalho e planilha usando `WorkBook.Create()` para inicializar um objeto de pasta de trabalho e, em seguida, adicionando uma nova planilha a ele. Isso permite que você comece a gravar dados na planilha.

O IronXL requer alguma dependência do Office Interop?

Não, o IronXL é uma biblioteca independente que não requer nenhuma dependência do Office Interop, o que facilita seu uso e implantação em aplicativos em diferentes plataformas.

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