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

Tutorial passo a passo de análise sintática C# de CSV

IronXL permite o parse e conversão de arquivos CSV para/desde formatos Excel em C# com apenas duas linhas de código. Este tutorial demonstra como converter arquivos XLSX, XLS e TSV para o formato CSV usando a API simples da biblioteca IronXL, eliminando a necessidade de código de parsing manual complexo. A biblioteca lida com todos os detalhes intrincados de conversão de formato de arquivo internamente, tornando-se perfeita para desenvolvedores que precisam de parsing CSV rápido e confiável sem escrever código extenso.

Você já ficou preso tentando analisar arquivos CSV e convertê-los para XLSX, ou arquivos XLSX para CSV para uma tarefa importante em .NET, mas não conseguiu descobrir como fazer isso sem escrever toneladas de código?

Muitas bibliotecas CSV existem para resolver esse problema. No entanto, a Biblioteca C# Excel IronXL será usada neste tutorial para realizar essas tarefas com apenas duas linhas de código. Ao contrário das abordagens tradicionais que exigem parsing manual de delimitadores e tratamento de casos extremos, IronXL fornece uma solução robusta e testada que funciona em diferentes plataformas, incluindo Windows, Linux e macOS.

Para começar, tudo o que você precisa é do Visual Studio. Siga as instruções abaixo para obter etapas detalhadas de instalação. Este tutorial é projetado para desenvolvedores com conhecimento básico de C# que queiram trabalhar com arquivos Excel sem dependências de Interop.

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

Abra o editor do Visual Studio.

Vá para o menu Arquivo no Visual Studio. Escolha "Novo Projeto", depois selecione Aplicação de Console. Isso cria uma estrutura de projeto simples perfeita para aprender como criar e manipular arquivos Excel.

Digite o nome do projeto e escolha a localização do projeto. Em seguida, clique no botão Criar para criar o projeto. Selecione o .NET Framework necessário, como mostrado na captura de tela abaixo:

Diálogo de configuração de novo projeto do Visual Studio mostrando configurações para um C# Console App (.NET Framework) com nome do projeto 'ConsoleApp1', caminho de localização, e .NET Framework 4.7.2 selecionado Figura 1: Configure seu novo projeto de Aplicação de Console C# no Visual Studio com .NET Framework 4.7.2

O arquivo program.cs será aberto para que você possa inserir a lógica e criar/executar a aplicação. É aqui que adicionaremos nosso código de parsing CSV usando a API simples do IronXL.

Como faço para instalar a Biblioteca C# IronXL?

A biblioteca IronXL pode ser baixada e instalada de várias maneiras diferentes. Hoje, focaremos em dois métodos que são mais comumente usados em ambientes de desenvolvimento profissional:

  • Usando o Gerenciador de Pacotes NuGet do Visual Studio
  • Usando a linha de comando do Visual Studio

Ambos os métodos são igualmente eficazes, e sua escolha depende se você prefere uma interface gráfica ou ferramentas de linha de comando. Para orientação detalhada de instalação em diferentes ambientes, consulte a documentação oficial.

Devo usar o Gerenciador de Pacotes NuGet do Visual Studio?

A interface do usuário do Gerenciador de Pacotes NuGet está disponível no Visual Studio para instalar o pacote diretamente no projeto. Este método é particularmente útil para desenvolvedores que preferem interfaces visuais e querem ver detalhes do pacote antes da instalação. A captura de tela abaixo mostra como abri-lo.

Visual Studio interface showing the Tools menu expanded with NuGet Package Manager option highlighted, and a secondary menu showing 'Manage NuGet Packages for Solution' selected Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution

A interface do Gerenciador de Pacotes fornece um recurso de Navegação que exibe uma lista de bibliotecas de pacotes disponíveis no site NuGet. Digite "IronXL" como mostrado na captura de tela abaixo para encontrar o pacote IronXL. Você também pode explorar recursos relacionados à manipulação de Excel que o IronXL oferece.

Interface do Gerenciador de Pacotes NuGet do Visual Studio mostrando os resultados da busca pelo pacote IronXl.Excel, com a versão 2022.9.9454 selecionada para instalação em um projeto C# chamado 'Create PDF' O Gerenciador de Pacotes NuGet no Visual Studio exibindo a biblioteca IronXl.Excel, que permite aos desenvolvedores ler, gerar e editar arquivos Excel em aplicações .NET. O pacote é mostrado com 250 mil downloads e versão 2022.9.9454 pronta para instalação

Selecione o pacote IronXl.Excel e clique no botão Instalar para adicioná-lo ao projeto. O processo de instalação lidará automaticamente com todas as dependências e configurará seu projeto para manipulação de arquivos Excel.

Quando devo usar a Linha de Comando do Visual Studio?

No menu do Visual Studio, vá para Ferramentas > Gerenciador de Pacotes NuGet > clique em Console do Gerenciador de Pacotes. Este método é preferido por desenvolvedores que estão confortáveis com interfaces de linha de comando ou precisam automatizar o processo de instalação em scripts de build.

Interface do Visual Studio mostrando o menu Ferramentas expandido com a opção Gerenciador de Pacotes NuGet destacada, e a janela do Console do Gerenciador de Pacotes aberta na parte inferior Abrindo o Console do Gerenciador de Pacotes NuGet no Visual Studio para instalar bibliotecas de análise CSV

O Console do Gerenciador de Pacotes aparecerá na parte inferior da tela. Digite o seguinte comando e pressione enter. IronXL será instalado. Este método é particularmente útil quando você precisa instalar versões específicas ou quando está trabalhando com scripts de implantação para Azure ou ambientes AWS.

Install-Package IronXl.Excel

Console do Gerenciador de Pacotes no Visual Studio mostrando a instalação do pacote NuGet IronXl.Excel com confirmações de download bem-sucedidas O Console do Gerenciador de Pacotes exibe a instalação bem-sucedida da versão 2022.11.10251 do IronXl.Excel, mostrando o processo de restauração do pacote e confirmações de download do repositório NuGet

Como Eu Analiso Arquivos CSV com IronXL?

Analisar CSVs manualmente requer escrever muito código preciso para realizar a tarefa, mas com IronXL, são necessárias apenas algumas linhas de código. Essa simplicidade é especialmente valiosa quando você precisa converter rapidamente entre diferentes formatos de planilhas.

Usar apenas código C# convencional para analisar arquivos formatados como CSV requer muito código volumoso. Aqui está um exemplo de código para alcançar isso usando uma abordagem tradicional:

using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();

            // Read records from the CSV file into an array
            // Note: This requires proper error handling for production use
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
$vbLabelText   $csharpLabel

Mas usando o IronXL, isso pode ser alcançado em apenas algumas linhas de código, com tratamento de erro embutido e suporte para vários formatos de arquivo.

Usando o IronXL, você pode analisar arquivos CSV de XLSX, XLS, TSV e mais. A biblioteca também suporta leitura de arquivos Excel em aplicações ASP.NET e aplicações Blazor. Neste tutorial, exploraremos as seguintes conversões:

  1. Analisar arquivo CSV de arquivo XLSX
  2. Analisar arquivo CSV de arquivo XLS
  3. Analisar arquivo CSV de arquivo TSV

Como Eu Converto um Arquivo XLSX para CSV?

Abra o Microsoft Excel e crie um novo arquivo XLSX. Preencha suas linhas e colunas com alguns dados fictícios. Para cenários de produção, talvez você queira criar arquivos Excel programaticamente usando o IronXL. A imagem abaixo mostra o arquivo usado para todas as conversões neste tutorial.

Planilha do Excel mostrando uma tabela de inventário simples com colunas para Itens, Quantidade, Preço, e Total, contendo dados para Machado, Caneta, Carregador, e Fones Figura 6: Dados de exemplo do Excel mostrando uma estrutura básica de inventário que será usada para demonstrar a análise de CSV em C#

Depois que você tiver seu arquivo pronto, escreva o código de exemplo a seguir e execute o programa. IronXL lida com toda a análise complexa internamente, incluindo tratamento adequado de caracteres especiais e tipos de dados:

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        // The Load method automatically detects the file format
        WorkBook wb = WorkBook.Load("test.xlsx");

        // Save the WorkBook as a CSV file
        // This method handles all formatting and conversion automatically
        wb.SaveAsCsv("Parsed CSV.csv");

        // Optional: Save with custom delimiter
        // wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
    }
}
$vbLabelText   $csharpLabel

Após a execução estar completa, um novo arquivo chamado Parsed CSV.csv será criado. Você pode ler arquivos CSV em qualquer editor ou leitor que preferir. Você também pode importar os dados CSV de volta para o Excel para mais manipulação. A imagem abaixo mostra a saída do comando acima — nossos dados CSV gerados. No arquivo de saída, aspas duplas representam valores em negrito.

Arquivo CSV aberto no WordPad mostrando dados de produtos com cabeçalhos 'Itens', 'quantity', 'Price', e 'Total', contendo entradas para MACHADO, Caneta, Carregador, e Fones com seus respectivos valores Figura 7: A saída CSV gerada pelo método SaveAsCsv, exibindo os dados do Excel convertidos em formato separado por vírgulas

Quais são os Passos para Converter Arquivos XLS para CSV?

Neste exemplo, veremos como converter arquivos XLS em formato CSV. O processo é idêntico à conversão de XLSX, demonstrando a versatilidade do IronXL em lidar com diferentes formatos de arquivos Excel.

Primeiro, vamos criar um exemplo de arquivo XLS que podemos converter para o formato CSV. Observe que XLS é um formato mais antigo do Excel, mas o IronXL lida com ele perfeitamente junto com formatos modernos:

Planilha do Microsoft Excel mostrando um inventário de itens com colunas para Itens, Quantidade, Preço, e Total, exibindo várias ferramentas como machado, caneta, carregador, fones, e serra, com suas respectivas quantidades e totais calculados somando a um total geral de 1239 Figura 8: Um arquivo Excel de exemplo demonstrando a estrutura de dados de inventário com cálculos automáticos, que pode ser analisado usando bibliotecas CSV em C#

Em seguida, executaremos o bloco de código abaixo para converter o arquivo XLS de amostra em um arquivo CSV. IronXL preserva a integridade dos dados durante a conversão, incluindo fórmulas e cálculos:

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        // IronXL automatically handles the older XLS format
        WorkBook wb = WorkBook.Load("XLS.xls");

        // Save the WorkBook as a CSV file
        // All formulas are evaluated and results are exported
        wb.SaveAsCsv("Example2.csv");

        // Optional: Export specific worksheet
        // WorkSheet ws = wb.GetWorkSheet("Sheet1");
        // ws.SaveAsCsv("Example2.csv");
    }
}
$vbLabelText   $csharpLabel

Após a execução do código acima, você terá um arquivo CSV recém-gerado. Para cenários mais complexos, talvez você queira selecionar intervalos específicos ou ordenar dados antes de exportar.

Janela do WordPad exibindo um arquivo CSV com itens, quantidades, preços e totais, incluindo entradas para MACHADO, Caneta, Carregador, Fones, e SERRA Exemplo de arquivo CSV aberto em WordPad mostrado dados devidamente formatados separados por vírgulas com cabeçalhos e várias entradas de produtos

Como Posso Analisar Arquivos CSV de Formato TSV?

Aplicativos de planilhas frequentemente usam arquivos TSV, ou arquivos com valores separados por tabulação, para transferir dados entre bancos de dados. Ele salva uma tabela de dados com tabulações separando as colunas de dados e cada registro em uma linha diferente. Arquivos TSV são particularmente úteis quando seus dados contêm vírgulas que podem interferir com a análise CSV.

IronXL oferece um analisador CSV para analisar arquivos CSV do formato TSV para melhor gerenciamento de dados. O processo de conversão é simples e mantém a integridade dos dados ao longo do processo.

Vamos começar com o exemplo. Primeiro, criaremos um arquivo TSV com dados de alunos:

Documento do Microsoft Word mostrando uma tabela com dados de alunos, incluindo nomes, endereços de email, números de matrícula (R-NO), e notas em letras, formatados com valores separados por tabulação Exemplo de dados de alunos separados por tabulação exibidos no Microsoft Word, mostrando a estrutura de um arquivo TSV com colunas para NOME, EMAIL, R-NO, e Nota

using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        // IronXL automatically detects tab-separated format
        WorkBook wb = WorkBook.Load("TSV.tsv");

        // Save the WorkBook as a CSV file
        // Tabs are converted to commas automatically
        wb.SaveAsCsv("Example3.csv");

        // Alternative: Load with explicit delimiter specification
        // WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
    }
}
$vbLabelText   $csharpLabel

Abaixo está a saída em formato CSV. Observe como o IronXL converteu adequadamente os valores separados por tabulação em valores separados por vírgula, mantendo a estrutura dos dados:

Documento do WordPad mostrando um arquivo CSV com dados de alunos, incluindo nomes, emails, números de matrícula, e notas, formatados com vírgulas como delimitadores Exemplo de arquivo CSV aberto em WordPad exibindo registros de alunos com campos para nome, email, número de matrícula, e nota separados por vírgulas

Quais são os principais benefícios de usar IronXL para analisar CSV?

Este tutorial demonstra o uso do IronXL para analisar vários formatos de arquivo para CSV em C#. A biblioteca fornece uma API consistente em todos os formatos de arquivo, facilitando o trabalho com diferentes versões e formatos do Excel sem alterar a estrutura do seu código.

Além disso, a biblioteca IronXL oferece os seguintes recursos que a tornam uma excelente escolha para manipulação do Excel:

IronXL também se destaca na otimização de desempenho. De acordo com melhorias recentes de desempenho, a biblioteca agora processa arquivos 40 vezes mais rápido, utilizando significativamente menos memória, tornando-se adequada para tarefas de processamento de dados em larga escala. A biblioteca funciona perfeitamente em containers Docker, em sistemas Linux e ambientes macOS, proporcionando verdadeira compatibilidade multiplataforma.

Para ambientes empresariais, o IronXL oferece robustos recursos de segurança e está em conformidade com os padrões da indústria. A biblioteca suporta VB.NET bem como C#, tornando-se versátil para diferentes equipes de desenvolvimento. Ao trabalhar com arquivos grandes, esteja ciente dos limites de tamanho de arquivo e das estratégias de otimização disponíveis.

Confira os recursos do IronXL, exemplos de código e documentação para mais informações sobre como o IronXL funciona. Você pode explorar casos de uso específicos como trabalhar com .NET MAUI para desenvolvimento móvel ou integração com DataTables para operações de banco de dados. Baixe o IronXL e experimente gratuitamente por 30 dias com uma chave de licença de teste. Para uso em produção, você precisará aplicar uma chave de licença que pode ser configurada no seu web.config para aplicações web. Visite a página de licenciamento para obter mais informações sobre os termos e condições de licenciamento, incluindo opções para extensões de licença e atualizações.

Compre a Iron Suite completa para obter licenças para todas as cinco bibliotecas da Iron Software pelo preço de duas licenças da biblioteca IronXL!

Obrigado por ler!

Perguntas frequentes

Como posso analisar arquivos CSV em C# sem usar Interop?

O IronXL permite analisar arquivos CSV em C# sem usar Interop. Você pode carregar um arquivo CSV em um objeto WorkBook e manipulá-lo diretamente, convertendo-o para outros formatos, como XLSX ou XLS, com apenas algumas linhas de código.

Quais são os passos necessários para instalar a biblioteca IronXL no Visual Studio?

Para instalar a biblioteca IronXL no Visual Studio, abra a interface do Gerenciador de Pacotes NuGet, pesquise por 'IronXL' e instale-a. Como alternativa, você pode usar a linha de comando do Visual Studio e executar o comando Install-Package IronXl.Excel no console do Gerenciador de Pacotes.

Como posso converter arquivos CSV para o formato Excel em C#?

Usando o IronXL, você pode converter arquivos CSV para formatos do Excel, como XLSX ou XLS, carregando o CSV em um objeto WorkBook e salvando-o no formato desejado usando métodos como SaveAsXlsx .

É possível analisar arquivos TSV e convertê-los para CSV em C#?

Sim, o IronXL permite a análise de arquivos TSV. Carregue o arquivo TSV em um objeto WorkBook e use o método SaveAsCsv para convertê-lo em um arquivo CSV.

Que funcionalidades uma biblioteca C# para Excel oferece para manipulação de dados?

O IronXL oferece funcionalidades como manipulação de dados, gerenciamento de gráficos, formatação de células e compatibilidade com criptografia do Excel. Ele suporta operações como congelamento de painéis, fórmulas e formatação condicional.

Como posso manipular formatos de planilhas do Excel programaticamente em C#?

O IronXL permite o gerenciamento de diferentes formatos de planilha, como XLSX, XLS e CSV. Ele fornece métodos para conversão entre esses formatos e manipulação eficiente de dados em aplicações .NET.

Posso experimentar uma biblioteca do Excel para C# antes de comprar?

Sim, o IronXL oferece um período de avaliação gratuito de 30 dias, disponível para download no site da NuGet. Isso permite que você teste seus recursos e verifique se ele atende às suas necessidades antes de efetuar a compra.

Quais são os benefícios que o IronXL oferece para analisar e converter arquivos CSV?

IronXL simplifica o processo de análise e conversão de arquivos CSV com o mínimo de código. Ele garante o manuseio eficiente de dados e oferece diversos recursos que aprimoram a manipulação de arquivos Excel em aplicações 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

Iron Support Team

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