Como exportar arquivos CSV e Excel no Razor
Procurando uma maneira de exportar dados para um arquivo Excel usando Razor Pages? Este artigo ensina como fazer isso usando IronXL for .NET.
Como exportar arquivos CSV e Excel no Razor
- Instale a biblioteca C# para exportar CSV e Excel
- Crie um objeto **WorkBook** e use o método `CreateWorkSheet` para criar o **WorkSheet**
- Preencha o **WorkSheet** com dados e também altere o estilo das células
- Retorne o **WorkBook** como fluxo e especifique o formato como uma planilha para exportar como Excel
- Especifique o formato como **text/csv** para exportar como CSV com o aplicativo web Razor
1. IronXL
IronXL é uma biblioteca .NET usada para trabalhar com arquivos Excel. É construído em cima do OpenXML SDK e oferece uma API simples para leitura, escrita e manipulação de planilhas Excel. IronXL pode ser usado em uma variedade de aplicações .NET, incluindo Aplicações Web, Aplicações Desktop e Aplicações de Console. IronXL oferece uma gama de recursos para trabalhar com documentos Excel, incluindo a capacidade de ler e escrever dados em células individuais, criar gráficos e gráficos, e realizar cálculos complexos. Também suporta recursos avançados do Excel, como tabelas dinâmicas, formatação condicional e validação de dados.
Exportar dados para arquivos Excel e CSV é uma tarefa comum no desenvolvimento web, e Razor e IronXL tornam isso fácil de realizar. Com o IronXL, os desenvolvedores podem criar facilmente planilhas Excel e salvá-las em um arquivo ou fluxo. Razor pode então ser usado para gerar conteúdo dinâmico que inclui links para o documento Excel, permitindo que os usuários os baixem diretamente da página web. O formato de arquivo CSV também pode ser gerado usando IronXL e baixado de forma semelhante usando Razor. Isso torna simples criar relatórios e outros conteúdos orientados por dados que podem ser facilmente compartilhados com outros. No geral, a combinação de Razor e IronXL .NET Core Razor Pages fornece um conjunto de ferramentas poderoso para desenvolvedores web que buscam criar páginas web dinâmicas e orientadas por dados.
2. Pré-requisitos
Antes de usar o Razor no Visual Studio, há alguns pré-requisitos que os usuários devem ter em vigor. Aqui estão alguns dos importantes:
- Como usuário do IronXL, você precisa ter o Visual Studio instalado no seu sistema de computador. Você pode baixar o Visual Studio Community gratuitamente no site oficial da Microsoft.
- Você também precisa ter o .NET Core SDK instalado em seu computador. Você pode baixar a versão mais recente do .NET Core SDK no site oficial da Microsoft.
- Seu ambiente de Desenvolvimento Web deve estar configurado antes de começar a trabalhar com o Razor View.
3. Criando um Novo Projeto no Visual Studio
Para criar um novo projeto no Visual Studio, siga estas etapas:
- Abra o Visual Studio.
-
Clique em "Criar um Novo Projeto" na janela de início, ou clique em "Arquivo" > "Novo" > "Projeto" na barra de menu.
Janela de início do Visual Studio -
Selecione o tipo de projeto que você deseja criar, para usar Razor Pages, selecione ASP.NET Core Web App e clique em Avançar.
Criar um novo .NET Core Web App no Visual Studio -
Uma nova janela aparecerá, escreva o nome do seu novo projeto e localização. Então clique em Avançar.
Configure o novo projeto - Agora na nova janela selecione seu Framework de destino, marque a opção configurar para HTTPS e clique em criar.
- Assim, seu novo Projeto Visual Studio ASP.NET Core Web App é criado.
4. Instalar IronXL
A Biblioteca IronXL pode ser baixada e instalada de maneiras diferentes.
Estes são:
- Usando pacotes NuGet do Visual Studio.
- Utilizando a linha de comando do Visual Studio.
4.1 Usando o Visual Studio
Para instalar a biblioteca IronXL, a abordagem mais simples é usar o Gerenciador de Pacotes NuGet. Abra o gerenciador e procure por IronXL na guia de navegação. Escolha o IronXL nos resultados da pesquisa e instale-o.
A captura de tela abaixo mostra como abrir o Gerenciador de Pacotes NuGet no Visual Studio.
Acesse o Gerenciador de Pacotes NuGet.
IronXL nos resultados da pesquisa:
Pesquisar por IronXL na UI do Gerenciador de Pacotes NuGet
4.2 Usando a linha de comando do Visual Studio
Usar um console para realizar operações é uma escolha popular para muitos. Se preferir instalar o IronXL através da linha de comando, você pode seguir estes passos:
- No Visual Studio, vá para Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.
- Insira a seguinte linha na guia do Console do Gerenciador de Pacotes, que instalará o pacote:
Install-Package IronXL.Excel
Agora o pacote será baixado/instalado no projeto atual e estará pronto para uso.
Instalar IronXL no Console do Gerenciador de Pacotes
5. Exportar Dados para um Arquivo Excel no Razor Net Core
Uma vez criado o projeto, uma interface simples do aplicativo Razor é criada. Agora, altere a interface para exportar para o Excel.
A interface Web do projeto recém-criado
Altere a interface acima editando o arquivo index.cshtml no diretório Pages.
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">IronXL Generate Excel File</h1>
<p class="m-5">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
<form method="post" asp-page-handler="Export">
<button class="btn btn-success p-3">Export Excel File!</button>
</form>
</div>
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">IronXL Generate Excel File</h1>
<p class="m-5">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
<form method="post" asp-page-handler="Export">
<button class="btn btn-success p-3">Export Excel File!</button>
</form>
</div>
page model ReadOnly Property () As IndexModel
ViewData("Title") = "Home page"
End Property
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="text-center"> <h1 class="display-4"> IronXL Generate Excel File</h1> <p class="m-5"> This will be the combination @of Razor @and IronXL, together they will Export data @to Excel file.</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3"> Export Excel File!</button> </form> </div>
Este código alterará a interface da página inicial e adicionará o botão de exportação.
A nova interface com um botão de exportação
Agora crie o método OnPostExport no arquivo index.cshtml.cs e escreva o seguinte código. Esse código gera uma planilha, escreve nomes de colunas em negrito e permite definir outras opções de estilo, como tamanho da fonte e cor de fundo. Você pode pensar nisso como um exemplo simples de exportação de dados de um banco de dados para um arquivo Excel.
public FileResult OnPostExport()
{
// Create a new workbook with the Excel file format
WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
// Create a new worksheet in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Name";
workSheet["B1"].Value = "Email";
workSheet["C1"].Value = "Marks";
workSheet["D1"].Value = "Percentage";
// Set styling for column headers
workSheet["A1:D1"].Style.Font.Bold = true;
// Filling the worksheet with data
workSheet["A2"].Value = "Nick";
workSheet["A3"].Value = "Roy";
workSheet["A4"].Value = "Chris";
workSheet["B2"].Value = "Nick@gmail.com";
workSheet["B3"].Value = "Roy123@gmail.com";
workSheet["B4"].Value = "Chris1999@gmail.com";
workSheet["C2"].Value = "850";
workSheet["C3"].Value = "710";
workSheet["C4"].Value = "990";
workSheet["D2"].Value = "85%";
workSheet["D3"].Value = "71%";
workSheet["D4"].Value = "99%";
// Return the file as an Excel sheet
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
// Create a new workbook with the Excel file format
WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
// Create a new worksheet in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Name";
workSheet["B1"].Value = "Email";
workSheet["C1"].Value = "Marks";
workSheet["D1"].Value = "Percentage";
// Set styling for column headers
workSheet["A1:D1"].Style.Font.Bold = true;
// Filling the worksheet with data
workSheet["A2"].Value = "Nick";
workSheet["A3"].Value = "Roy";
workSheet["A4"].Value = "Chris";
workSheet["B2"].Value = "Nick@gmail.com";
workSheet["B3"].Value = "Roy123@gmail.com";
workSheet["B4"].Value = "Chris1999@gmail.com";
workSheet["C2"].Value = "850";
workSheet["C3"].Value = "710";
workSheet["C4"].Value = "990";
workSheet["D2"].Value = "85%";
workSheet["D3"].Value = "71%";
workSheet["D4"].Value = "99%";
// Return the file as an Excel sheet
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
' Create a new workbook with the Excel file format
Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
' Create a new worksheet in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")
' Add data and styles to the new worksheet
workSheet("A1").Value = "Name"
workSheet("B1").Value = "Email"
workSheet("C1").Value = "Marks"
workSheet("D1").Value = "Percentage"
' Set styling for column headers
workSheet("A1:D1").Style.Font.Bold = True
' Filling the worksheet with data
workSheet("A2").Value = "Nick"
workSheet("A3").Value = "Roy"
workSheet("A4").Value = "Chris"
workSheet("B2").Value = "Nick@gmail.com"
workSheet("B3").Value = "Roy123@gmail.com"
workSheet("B4").Value = "Chris1999@gmail.com"
workSheet("C2").Value = "850"
workSheet("C3").Value = "710"
workSheet("C4").Value = "990"
workSheet("D2").Value = "85%"
workSheet("D3").Value = "71%"
workSheet("D4").Value = "99%"
' Return the file as an Excel sheet
Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
Esse código acima criará um livro de trabalho e retornará o arquivo como uma planilha Excel. Este método está ligado ao botão e, assim que o botão for clicado, ele criará e baixará automaticamente o arquivo exportado XLSX.
Exportar um arquivo XLSX no navegador
Os dados no arquivo XLSX exportado
6. Exportar Dados para Arquivo CSV
Você pode facilmente exportar arquivos de texto CSV com uma alteração no código acima. Basta substituir o código de retorno do arquivo pelo seguinte, e sua página Razor retornará um arquivo CSV.
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
Return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv")
Exportar um arquivo CSV no navegador
Os dados no arquivo CSV exportado
7. Conclusão
Exportar dados para planilhas Excel e arquivos CSV é uma tarefa comum no desenvolvimento web, e Razor e IronXL tornam isso fácil de realizar. Com o IronXL, os desenvolvedores podem criar facilmente planilhas Excel e salvá-las em um arquivo ou fluxo. Razor pode então ser usado para gerar conteúdo dinâmico que inclui links para o documento Excel, permitindo que os usuários os baixem diretamente da página web. Isso torna simples criar relatórios e outros conteúdos orientados por dados que podem ser facilmente compartilhados com outros.
A combinação de Razor e IronXL .NET Core Razor Pages fornece um conjunto de ferramentas poderoso para desenvolvedores web que buscam criar páginas web dinâmicas e orientadas a dados. Para começar a usar Razor e IronXL, é necessário ter o Visual Studio e o .NET Core SDK instalados. Depois disso, criar um novo projeto no Visual Studio e instalar a biblioteca IronXL pode ser feito facilmente. Finalmente, mudando a interface da página inicial e criando um método OnPostExport, os desenvolvedores podem exportar dados para documentos Excel em alguns passos simples.
Para saber mais sobre IronXL, Razor e como exportar dados para arquivos Excel e CSV, por favor, visite a seguinte página.
IronXL é gratuito para uso em finalidades de desenvolvimento não comerciais. Uma avaliação gratuita está disponível para teste em produção. Consulte os planos de preços para mais detalhes sobre preços e licenciamento.
Os usuários também podem se beneficiar do Iron Suite, um conjunto de 5 bibliotecas profissionais ASP.NET Core, incluindo IronXL, IronPDF, e mais.
Perguntas frequentes
Como posso exportar dados para o Excel usando o Razor Pages?
Você pode usar o IronXL em conjunto com o Razor Pages para exportar dados para o Excel. Comece instalando o IronXL através do Gerenciador de Pacotes NuGet ou da Linha de Comando do Visual Studio. Em seguida, crie uma nova pasta de trabalho e uma nova planilha, preencha-a com dados e exporte-a como um arquivo do Excel usando o Razor.
Quais são os passos necessários para configurar um ambiente para exportar dados para o Excel usando o Razor?
Para configurar seu ambiente, você precisará do Visual Studio e do SDK do .NET Core. Crie um novo projeto de Aplicativo Web ASP.NET Core, instale o IronXL a partir do NuGet e modifique a interface Razor para adicionar funcionalidades de exportação.
Qual é o processo para exportar dados para um arquivo CSV em uma aplicação .NET?
Para exportar dados como um arquivo CSV usando o IronXL, modifique o código da sua Razor Page para retornar o arquivo no formato 'text/csv'. Isso envolve usar o IronXL para manipular os dados da planilha e especificar CSV como formato de saída.
Posso formatar planilhas do Excel ao exportá-las do Razor Pages?
Sim, o IronXL permite aplicar estilos às planilhas do Excel ao exportá-las do Razor Pages. Você pode personalizar fontes, cores e outros elementos de formatação para aprimorar a apresentação dos seus dados.
É possível usar o IronXL para projetos não comerciais?
O IronXL está disponível gratuitamente para fins de desenvolvimento não comercial. Você também pode usar uma versão de avaliação gratuita para testes em ambientes de produção, e planos de preços detalhados estão disponíveis para uso comercial.
Como o IronXL simplifica tarefas de desenvolvimento web que envolvem arquivos Excel e CSV?
IronXL simplifica o desenvolvimento web ao fornecer uma API poderosa para gerar e manipular arquivos Excel e CSV diretamente do Razor Pages. Elimina a necessidade de Interop, tornando as tarefas de exportação de dados mais eficientes e fáceis de implementar.
Por que os desenvolvedores escolheriam Razor e IronXL para tarefas de exportação de dados?
Os desenvolvedores escolhem Razor e IronXL por sua facilidade de uso, flexibilidade e recursos poderosos. Eles permitem a integração perfeita de funcionalidades de exportação de dados em aplicativos web, possibilitando a criação de conteúdo dinâmico e orientado a dados que pode ser compartilhado sem esforço.



