使用IRONXL

如何在Razor中导出CSV和Excel

更新 2024年二月20日
分享:

正在寻找使用 Razor Pages 将数据导出到 Excel 文件的方法吗?本文将介绍如何使用 IronXL for .NET 导出数据。

1.IronXL

IronXL 是一个用于处理 Excel 文件的 .NET 库。它建立在 OpenXML SDK 的基础之上,为 Excel 电子表格的读写和操作提供了一个简单的 API。IronXL 可用于各种 .NET 应用程序,包括 Web 应用程序、桌面应用程序和控制台应用程序。IronXL 提供了一系列处理 Excel 文档的功能,包括 读取写数据 到单个单元格,创建图表和图形,以及执行 复杂计算.它还支持数据透视表等 Excel 高级功能、 条件格式以及数据验证。

将数据导出到 Excel 和 CSV 文件是网站开发中的一项常见任务,而 Razor 和 IronXL 可以轻松完成这项任务。使用IronXL,开发人员可以轻松创建Excel电子表格并将其保存到文件或数据流中。然后,Razor可用于生成包含Excel文档链接的动态内容,允许用户直接从网页上下载。CSV 文件格式也可使用 IronXL 生成,并使用 Razor 以类似方式下载。这样就可以轻松创建报告和其他数据驱动内容,方便与他人共享。总之,Razor 和 IronXL .NET Core Razor Pages 的结合为希望创建动态数据驱动网页的网页开发人员提供了强大的工具集。

2.先决条件

在Visual Studio中使用Razor之前,用户应具备一些先决条件。以下是一些重要的先决条件:

1.作为 IronXL 用户,你需要在计算机系统中安装 Visual Studio。您可以从微软官方网站免费下载 Visual Studio Community。

2.您还需要在计算机上安装 .NET Core SDK。您可以从微软官方网站下载最新版本的 .NET Core SDK。

3.在开始使用Razor View之前,必须先设置好Web开发环境。

3.创建新的 Visual Studio 项目

要创建新的 Visual Studio 项目,请按照以下步骤操作:

1.打开 Visual Studio。

2.点击开始窗口中的 "创建新项目",或点击菜单栏中的 "文件">"新建">"项目"。

![如何在 Razor 中导出 CSV 和 Excel,图 1:Visual Studio 的启动窗口](/static-assets/excel/blog/razor-export-csv-excel-tutorial/razor-export-csv-excel-tutorial-1.webp)

**虚拟工作室的启动窗口**

3.选择要创建的项目类型,要使用 Razor Pages,请选择 ASP.NET Core Web App,然后单击 "下一步"。

![如何在 Razor 中导出 CSV 和 Excel,图 2:在 Visual Studio 中创建新的 .NET Core Web 应用程序](/static-assets/excel/blog/razor-export-csv-excel-tutorial/razor-export-csv-excel-tutorial-2.webp)

**在 Visual Studio 中创建新的 .NET Core Web 应用程序**

4.这时会出现一个新窗口,请写入新项目的名称和位置。然后点击下一步。

![如何在 Razor 中导出 CSV 和 Excel,图 3:配置新项目](/static-assets/excel/blog/razor-export-csv-excel-tutorial/razor-export-csv-excel-tutorial-3.webp)

**配置新项目**

5.现在,在新窗口中选择目标框架,选中为 HTTPS 配置选项,然后点击创建。

6.就这样,新的 Visual Studio ASP.NET Core Web App 项目就创建好了。

4.安装 IronXL

IronXL 库可以通过不同方式下载和安装。

它们是

  • 使用 Visual Studio NuGet 软件包
  • 使用 Visual Studio 命令行

4.1 使用 Visual Studio

要安装 IronXL 库,最简单的方法是使用 NuGet 包管理器。打开管理器,在浏览选项卡中搜索 IronXL。从搜索结果中选择 IronXL 并安装。

下面的截图显示了如何在 Visual Studio 中打开 NuGet 包管理器。

如何在 Razor 中导出 CSV 和 Excel,图 4:导航至 NuGet 软件包管理器

导航至 NuGet 软件包管理器

搜索结果中的 IronXL

如何在 Razor 中导出 CSV 和 Excel,图 5:在 NuGet 软件包管理器用户界面中搜索 IronXL

在 NuGet 软件包管理器用户界面中搜索 IronXL

4.2 使用 Visual Studio 命令行

使用控制台执行操作是很多人的选择。如果你更喜欢通过命令行安装 IronXL,可以按照以下步骤操作:

  • 在 Visual Studio 中,转到 Tools > NuGet Package Manager > Package Manager Console
  • 在 "软件包管理器控制台 "选项卡中输入以下一行:
Install-Package IronXL.Excel

现在,软件包将下载/安装到当前项目,并可随时使用。

如何在 Razor 中导出 CSV 和 Excel,图 6:在软件包管理器控制台中安装 IronXL

在软件包管理器控制台安装 IronXL

5.在 Razor Net Core 中将数据导出到 Excel 文件

项目创建后,Razor 应用程序的简单界面也随之创建。现在将界面更改为 Excel 导出。

如何在 Razor 中导出 CSV 和 Excel,图 7:新建项目的 Web 界面

新创建项目的网络界面

编辑 Pages 目录下的 index.cshtml 文件,更改上述界面。

@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 and togather 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 and togather 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 @and togather 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>
VB   C#

这段代码将更改主页界面并添加导出按钮。

如何在 Razor 中导出 CSV 和 Excel,图 8:带有导出按钮的新界面

带有导出按钮的新界面

现在在 index.cshtml.cs 文件中创建 onPostExport 方法,并编写以下代码。这段代码会生成一个工作表,并将列名写成粗体。用户还可以使用样式设置字体大小,甚至设置列的背景颜色。这与从 SQL Server 或任何其他数据库服务器导出数据库表数据到 Excel 是一样的。

public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    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 = "Persent Age";
    workSheet ["A1:D1"].Style.Font.Bold = true;
    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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    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 = "Persent Age";
    workSheet ["A1:D1"].Style.Font.Bold = true;
    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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
	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 = "Persent Age"
	workSheet ("A1:D1").Style.Font.Bold = True
	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 File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
VB   C#

上述代码将创建一个工作簿,并返回 Excel 表单文件。此方法将链接到按钮,一旦点击按钮,它将自动创建并下载导出的 XLSX 文件。

如何在 Razor 中导出 CSV 和 Excel,图 9:在浏览器中导出 XLSX 文件

在浏览器中导出 XLSX 文件

如何在 Razor 中导出 CSV 和 Excel,图 10:导出的 XLSX 文件中的数据

导出的 XLSX 文件中的数据

6.将数据导出到 CSV 文件

与上述相同,您只需在上述代码示例中修改一行代码,即可轻松导出 CSV 文本文件。只需用此代码替换上述源代码中的返回文件代码,您的 Razor 页面就会返回 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")
VB   C#

如何在 Razor 中导出 CSV 和 Excel,图 11:在浏览器中导出 CSV 文件

在浏览器中导出 CSV 文件

如何在 Razor 中导出 CSV 和 Excel,图 12:导出的 CSV 文件中的数据

导出的 CSV 文件中的数据

7.结论

将数据导出到 Excel 表和 CSV 文件是网站开发中的一项常见任务,而 Razor 和 IronXL 可以轻松完成这项任务。使用IronXL,开发人员可以轻松创建Excel电子表格并将其保存到文件或数据流中。然后,Razor可用于生成包含Excel文档链接的动态内容,允许用户直接从网页上下载。这样就可以轻松创建报告和其他数据驱动内容,并轻松与他人共享。

Razor 和 IronXL .NET Core Razor Pages 的结合为希望创建动态数据驱动网页的网络开发人员提供了强大的工具集。要开始使用 Razor 和 IronXL,需要安装 Visual Studio 和 .NET Core SDK。然后,创建一个新的 Visual Studio 项目并安装 IronXL 库即可轻松完成。最后,通过更改主页界面和创建 "OnPostExport "方法,开发人员只需几个简单的步骤就能将数据导出到 Excel 文档。

要了解有关 IronXL、Razor 以及如何将数据导出到 Excel 和 CSV 文件的更多信息,请访问以下网站 页码.

IronXL 可免费用于非商业开发目的。A 免费试用 可用于生产测试。查看 定价计划 了解有关价格和许可的更多详情。

用户还可受益于 Iron Suite由 5 个专业 ASP.NET Core 库组成的套件,包括 IronXLIronPDF 等。

< 前一页
如何冻结Excel中的行(初学者指南)
下一步 >
如何取消隐藏Excel中的所有行

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 988,189 查看许可证 >