IRONSOFTWAREHOME
USANDO O IRONXL

Como exportar para CSV no Blazor

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Hoje, vamos nos aprofundar em como usar Blazor e IronXL para converter um arquivo Excel para o formato CSV. Ao final deste tutorial, você será capaz de criar um aplicativo Blazor básico que exporta dados do Excel em vários formatos, incluindo CSV.

Introdução ao IronXL

IronXL é uma poderosa biblioteca .NET para Excel projetada para trabalhar com arquivos Excel em uma ampla gama de formatos, incluindo XLS, XLSX, XLSM, XLTX e CSV. Permite que os desenvolvedores leiam, escrevam e manipulem dados do Excel programaticamente sem a necessidade do Microsoft Office ou Interop do Excel.

Com o IronXL, você pode criar, carregar e salvar workbooks Excel, além de ler e escrever dados em células ou intervalos individuais. Também suporta recursos avançados como formatação, fórmulas, gráficos e tabelas dinâmicas. IronXL é compatível com várias versões do .NET Framework e pode ser usado com linguagens populares como C# e VB.NET.

Passos para Converter Arquivo Excel para CSV

Configurando Seu Projeto Blazor

Para começar, você precisará criar um novo projeto Blazor Server. Abra o Visual Studio, crie um novo projeto e selecione o template "Blazor Server App". Nomeie seu projeto e clique em "Criar".

Uma vez que seu projeto é criado, abra a pasta Pages e localize o arquivo Index.razor. É aqui que os componentes Blazor são adicionados e codificados para lidar com uploads e conversões de arquivos.

Instalando IronXL

Antes de começar a escrever código, é necessário instalar a biblioteca IronXL. Abra o Console do Gerenciador de Pacotes no Visual Studio e execute o seguinte comando:

PM > Install-Package IronXL.Excel

Este comando irá instalar a biblioteca IronXL em seu projeto Blazor. Agora você está pronto para começar a escrever código!

Criando o Componente de Upload de Arquivo

Primeiro, crie um componente básico de upload de arquivo que permite aos usuários fazer upload de um arquivo Excel existente. Em seguida, o componente InputFile é adicionado do namespace Microsoft.AspNetCore.Components.Forms. Adicione o seguinte código ao seu arquivo Index.razor, abaixo da linha "@page "":

@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>
Text

Este código configura o componente de upload de arquivo, completo com um botão e uma área de mensagem para exibir o status da conversão do arquivo. O atributo accept no componente InputFile especifica os formatos de arquivo aceitos.

Escrevendo o Código de Conversão de Arquivo

Agora, vamos escrever o código que lida com o upload e a conversão do arquivo. Uma combinação de IronXL, Blazor e C# será usada para completar esta tarefa. Você pode usar o IronXL para converter um CSV em um arquivo Excel.

Adicione o seguinte código ao seu arquivo Index.razor, abaixo do elemento div que você adicionou anteriormente.

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}
Text

Este código define um método privado chamado OnInputFileChange, que será acionado quando uma planilha do Excel for carregada usando o componente InputFile; O Excel pode estar no formato XLS ou XLSX. O código lê o arquivo Excel básico carregado, carrega-o em um objeto WorkBook, e então salva o WorkBook como um arquivo CSV. O status da conversão é exibido na área de mensagem da página.

Análise do código

Primeiro, veja o código completo:

@page "/"
@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<style>
    body{
        background-color: skyblue
    }
    .container {
        max-width: 800px;
        margin: 0 auto;
        font-family: Arial, sans-serif;
    }

    h3 {
        margin-top: 30px;
        font-size: 30px;
        margin-bottom: 30px;
    }

    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 15px 0;
        cursor: pointer;
    }
    span {
        font-size: 20px;
    }
</style>

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}
Text

Vamos detalhar o código ainda mais:

  1. Quando um arquivo é carregado, o método OnInputFileChange é acionado, e um objeto InputFileChangeEventArgs é passado para ele. Este objeto contém informações sobre o arquivo carregado, como seu nome e tamanho.
  2. Armazene o nome original do arquivo em uma variável chamada originalFileName para exibi-lo na página.
  3. Dentro de um bloco try-catch, crie um novo objeto MemoryStream para ler o conteúdo do arquivo carregado. A instrução using garante que o stream de memória seja descartado corretamente assim que não for mais necessário.
  4. Use a palavra-chave await para copiar assincronamente o conteúdo do arquivo carregado no fluxo de memória. Isso garante que este aplicativo permaneça responsivo enquanto lê o arquivo.
  5. A seguir, o método WorkBook.Load é usado para carregar o conteúdo do fluxo de memória em um objeto WorkBook. Este objeto representa todo o workbook Excel, incluindo suas planilhas, células e dados.
  6. Em seguida, especifique um nome de arquivo de saída para o arquivo CSV convertido. Neste caso, estamos usando o nome "sample.csv".
  7. O método SaveAsCsv do objeto WorkBook é então usado para salvar o workbook como um arquivo CSV com o nome de arquivo de saída especificado.
  8. Se a conversão for bem-sucedida, uma mensagem é exibida para indicar que a conversão foi concluída. Se ocorrer um erro, capture a exceção e exiba uma mensagem de erro.

Testando o aplicativo

Agora que o aplicativo Blazor está completo, é hora de testá-lo! Pressione F5 para executar seu aplicativo no Visual Studio. Assim que o aplicativo estiver em execução, você deverá ver um botão de upload de arquivo na página.

Como Exportar para CSV no Blazor, Figura 1: Execute a aplicação Blazor Execute o aplicativo Blazor

Clique no botão e selecione um arquivo Excel para carregar. Os formatos de arquivo aceitos estão listados no atributo accept do componente InputFile.

Como Exportar para CSV no Blazor, Figura 2: Selecione um arquivo Excel Selecione um arquivo Excel

Depois de selecionar um arquivo, o aplicativo lerá o arquivo, converterá para um formato CSV usando o IronXL e salvará o arquivo convertido com o nome de arquivo de saída especificado. Você deve ver uma mensagem indicando o status da conversão, bem como o nome do arquivo original.

Como Exportar para CSV no Blazor, Figura 3: Status da conversão Status da conversão

Parabéns! Você criou com sucesso um aplicativo Blazor que pode exportar arquivos Excel para o formato CSV usando o IronXL. A captura de tela a seguir mostra a saída do programa acima.

Como Exportar para CSV no Blazor, Figura 4: O arquivo Excel de saída O arquivo Excel de saída

Conclusão

Este tutorial demonstrou como construir um aplicativo Blazor que pode exportar arquivos Excel para o formato CSV usando o IronXL. Demonstramos como criar um componente de upload de arquivo, lidar com uploads de arquivo e converter arquivos Excel para o formato CSV usando os poderosos recursos do IronXL.

Ao incorporar o IronXL em seus aplicativos Blazor, você pode lidar facilmente com uma variedade de tarefas relacionadas ao Excel, como importar, manipular e exportar dados. Isso abre uma ampla gama de possibilidades para seus projetos e ajuda a proporcionar uma experiência mais rica aos seus usuários. Você pode converter CSV para Excel no Blazor usando a biblioteca IronXL.

O IronXL oferece uma versão de avaliação gratuita, permitindo que você teste suas funcionalidades e capacidades antes de se comprometer com uma compra. Após o período de avaliação, as licenças para IronXL começam a partir de $999.

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.