IRONSOFTWAREHOME
USANDO O IRONXL

Como gerar um arquivo do Excel no Razor Pages

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

Razor Pages oferece uma abordagem moderna para construir páginas web. Em Razor Pages, o código fonte que renderiza a página web é escrito em C# em vez de ser gerado por uma página do lado do servidor.

Para trabalhar eficientemente com arquivos Excel, a biblioteca IronXL é recomendada em vez de outras, como o pacote NPOI do projeto POI Java (notavelmente usado com arquivos PowerPoint) e Office Interop. IronXL é uma biblioteca rica em recursos, fácil de usar, que não requer Microsoft Office e suporta múltiplas versões .NET.

Este artigo demonstra o uso da biblioteca IronXL C# para gerar e exportar planilhas Excel com dados fictícios e cabeçalhos de linha em Razor Pages.

IronXL: Biblioteca Excel em C#

IronXL é uma biblioteca Excel para C# que oferece métodos e funções para operar em grandes conjuntos de dados usando processamento paralelo para aumentar o poder de computação. É amigável ao usuário, pois não requer a compreensão do funcionamento interno e suporta arquivos tanto XLS quanto XLSX.

IronXL é ideal para importação, exportação, criação de fórmulas Excel e documentos de escritório sem precisar que o Microsoft Office esteja instalado.

Saiba como importar e exportar arquivos Excel em Razor Pages usando IronXL.

Gerar Arquivo Excel em Razor Pages

Para criar planilhas Excel em Razor Pages, comece abrindo o Visual Studio, criando uma Aplicação Web ASP.NET Core e instalando o IronXL.

Pré-requisitos

Configurar para criar arquivos Excel em Razor Pages requer:

  1. Visual Studio (Última Versão)
  2. .NET Framework 6 ou 7
  3. Aplicação Web .NET Core no Visual Studio

Instalar Biblioteca IronXL

Instale o IronXL usando o Console do Gerenciador de Pacotes NuGet. Insira este comando para instalar a biblioteca em uma Aplicação Web .NET Core:

PM > Install-Package IronXL.Excel

Código para Gerar arquivo Excel

Aqui está como escrever o código. Abra "Index.cs" na pasta Pages e adicione o seguinte método:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}

In this code, a new Excel WorkBook is created and contains one WorkSheet. A planilha é populada com dados de exemplo e o arquivo gerado é respondido ao servidor com:

  • O WorkBook é convertido em um Stream para download como um arquivo.
  • O tipo MIME é definido.
  • Um nome para o download do arquivo é especificado.

Crie um botão para baixar o arquivo Excel

Substitua o código existente em "Index.cshtml" pelo seguinte:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

Este HTML cria um formulário com asp-page-handler definido como "Exportar", permitindo que o aplicativo exporte o arquivo Excel para a máquina local quando o usuário clica no botão "Gerar Arquivo Excel!", acionando um download pelo navegador.

Execute o projeto

Execute o projeto e você verá uma tela no navegador. Clique no botão verde para baixar o arquivo Excel.

Como Gerar um Arquivo Excel em Razor Pages, Figura 1: IronXL Gerar Planilhas Excel IronXL Gera Planilhas Excel

Após clicar em "Gerar Arquivo Excel!", o arquivo será baixado.

Como Gerar um Arquivo Excel em Razor Pages, Figura 2: Arquivo Baixado do IronXL Arquivo Baixado IronXL

Abra o Arquivo Excel Gerado

O conteúdo do arquivo Excel gerado corresponde à saída do código com formatação perfeita. A captura de tela do arquivo Excel gerado é exibida abaixo.

Como Gerar um Arquivo Excel em Razor Pages, Figura 3: Arquivo Gerado do IronXL Arquivo Gerado IronXL

IronXL melhor que os Concorrentes

IronXL é uma ferramenta superior para trabalhar com formatos XLS e XLSX sem limitações como NPOI, que é mais lento por ser baseado em Java, enquanto IronXL é C#. Em aplicativos ASP.NET Core que geram grandes/múltiplas planilhas, opte por IronXL ao invés de POI.

IronXL permite criar e editar arquivos Excel sem Microsoft Office. Ao contrário do Microsoft Interop, IronXL não precisa chamar o ActiveX do Microsoft Excel para operações ou exportações de Excel. Ele também permite exportar arquivos CSV para o formato Excel.

IronXL também oferece recursos extensivos para interagir com arquivos Excel, incluindo converter entre formatos populares, inserir funções matemáticas, adicionar gráficos e inserir imagens.

Conclusão

Este artigo demonstra o uso do IronXL para gerar um arquivo Excel em Razor Pages sem a necessidade do ActiveX do Microsoft Excel e facilitando o download de arquivos.

Explore mais tutoriais sobre a criação de arquivos Excel.

IronXL é gratuito para desenvolvimento não comercial. Uma versão de teste gratuita está disponível para testes em produção. Veja os planos de preços para mais detalhes sobre preços e licenciamento.

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.