IRONSOFTWAREHOME
USING IRONXL

如何在 ASP .NET Core 中打开 Excel 文件

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

本教程将演示如何在 ASP.NET Core 应用程序中使用 IronXL 打开 Excel 文件。 它将涵盖读取 Excel 文件的基本步骤,然后显示其中的数据,并将修改后的数据保存回文件。

什么是 IronXL?

IronXL 是一个 .NET Excel 库,提供了处理 Excel 文档的功能,无需依赖于 Microsoft Excel 或 Office Interop。 它支持 .NET Framework 和 .NET Core,能够通过几行代码来编写、操作和读取 Excel 文件。 有关读取 Excel 文件的详细教程,请参阅此 Excel 教程

IronXL 库可以读取和写入 Excel 文档提取数据,操作数据,甚至从头创建新的 Excel 文件。 IronXL 不仅支持 .XLS 格式,还兼容 .XLSX,这是 Microsoft 开发的基于 XML 的电子表格文件格式。

准备工作

在深入代码之前,请确保您具备以下条件:

  1. 安装 .NET Core 3.1 或更高版本。
  2. 一个适用于 .NET 开发的合适 IDE(推荐使用 Microsoft Visual Studio)。
  3. 对 ASP.NET Core 和 Razor Pages 的基本理解。

创建一个新的 .NET Core 项目

  1. 打开 Microsoft Visual Studio 并选择"创建新项目"。
  2. 从项目模板列表中选择"ASP.NET Core Web 应用程序"并点击"下一步"。
  3. 为您的项目提供名称,例如"Open_Excel_File_.NET_Core",选择位置,并点击"下一步"。
  4. 选择".NET Core"作为目标框架,并选择"ASP.NET Core 3.1 或更高版本"作为版本。 在"项目模板"部分,选择"Web 应用程序"并点击"创建"。

安装 IronXL 包

接下来的步骤是在刚创建的项目中安装 IronXL 包:

  1. 在解决方案资源管理器中右键点击项目并选择"管理 NuGet 包"。

  2. 在"浏览"选项卡中,搜索"IronXL"并点击IronXL.Excel 包的"安装"。

    如何在ASP .NET Core中打开Excel文件,图1:在NuGet包管理器UI中搜索并安装IronXL包 在 NuGet 包管理器 UI 中搜索并安装 IronXL 包

  3. 等待包安装完成。

您的 ASP.NET Core 项目现在已设置完成,IronXL 库已安装并可以使用。

创建 Razor 页面

现在,让我们创建一个 Razor 页面来编写打开 Excel 文件的代码。

  1. 在解决方案资源管理器的"Pages"文件夹上右键单击并选择"添加" > "Razor 页面"。

  2. 输入"ExcelOpener"作为页面名称并点击"添加"。

    如何在ASP .NET Core中打开Excel文件,图2:创建一个新的Razor页面 创建一个新的 Razor 页面

这将创建两个文件:ExcelOpener.cshtmlExcelOpener.cshtml.cs

ExcelOpener.cshtml 文件包含页面的 HTML 标记,而 ExcelOpener.cshtml.cs 文件包含页面的 C# 后台代码。

读取 Excel 文件

让我们深入到代码中。 所提供的ExcelOpenerModel类是一个Razor页面模型。 此类有一个Data,用于存储从Excel文件读取的数据。

public List<List<string>> Data { get; set; }

public ExcelOpenerModel()
{
    Data = new List<List<string>>();
}

OnGet方法中,使用IronXL加载Excel文件并从默认工作表(工作簿中的第一张表)读取数据。 每一行表示为一个Data属性中。

public void OnGet()
{
    try
    {
        Data = new List<List<string>>();
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < sheet.RowCount; i++)
        {
            var row = new List<string>();
            for (int j = 0; j < sheet.ColumnCount; j++)
            {
                row.Add(sheet.GetCellAt(i, j).Value.ToString());
            }
            Data.Add(row);
        }
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}

关键方法解释

  • WorkBook.Load(filepath): 此方法从指定的文件路径加载Excel文档。 帮助加载和读取 Excel 表。
  • workbook.DefaultWorkSheet: 此属性获取Excel电子表格中默认(第一张)Excel工作表。
  • sheet.GetCellAt(i, j).Value.ToString(): 此方法获取指定行和列索引处的单元格,并将其值转换为字符串。 这是一个可以根据行和列索引访问 Excel 文件中特定单元格或区域的索引方法示例。

简短说明

ExcelOpener.cshtml.cs文件中,一个名为ExcelOpenerModel的类表示Razor页面模型。 它包含一个名为List<List<string>>,用于保存Excel文件中的数据。

请求页面时调用Data属性。

写入 Excel 文件

OnPost方法用于保存对Excel文件的修改。它首先加载Excel文件并检索默认工作表。 然后将Data中的值写入工作表中的单元格,并将工作簿保存为一个新文件。

public void OnPost()
{
    try
    {
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        var sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < Data.Count; i++)
        {
            for (int j = 0; j < Data[i].Count; j++)
            {
                sheet.SetCellValue(i, j, Data[i][j]);
            }
        }

        // Save the Excel file
        var filename = @"C:\ModifiedData.xlsx";
        workbook.SaveAs(filename);
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}

关键方法解释

  • sheet.SetCellValue(i, j, Data[i][j]): 此方法设置指定行和列索引处单元格的值。
  • workbook.SaveAs(filepath): 此方法将Excel工作簿保存到指定的文件路径。

简短说明

提交表单时调用OnPost方法,并将修改后的数据保存回Excel文件。它加载Excel文件,选择默认工作表,并根据从表单接收到的修改数据更新单元格值。

编辑 Excel 数据的 HTML 表单

ExcelOpener.cshtml 中,定义了一个表单用于显示和编辑 Excel 文件中的数据。每个单元格值显示在一个文本输入字段中。 编辑后,点击"节省"按钮将提交表单,触发OnPost方法并将更改保存到Excel文件。

@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel

<form method="post">
    <table class="table table-bordered table-striped">
        <!-- Bootstrap classes for tables -->
        @for (int i = 0; i < Model.Data.Count; i++)
        {
            <tr>
                @for (int j = 0; j < Model.Data[i].Count; j++)
                {
                    <td>
                        <input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls -->
                    </td>
                }
            </tr>
        }
    </table>

    <input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
HTML

导航到页面

_Layout.cshtml 中,导航菜单中添加了指向页面的链接。 点击此链接,您将导航到 Excel opener 页面。

<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
HTML

运行应用程序并解释输出

通过单击Visual Studio中的"Build"按钮或使用Ctrl + Shift + B快捷方式构建应用程序。 按 F5 或点击 Visual Studio 中的"启动"按钮运行应用程序。

应用程序运行后,通过点击导航栏中相应的链接来导航到"ExcelOpener"页面。 页面将以表格格式显示 Excel 中的数据。

您可以修改表格中的数据,然后点击"保存"按钮将更改保存回 Excel 文件中。

如何在ASP .NET Core中打开Excel文件,图3:在Web应用程序中显示Excel数据 在 Web 应用程序中显示 Excel 数据

本教程演示了如何在 ASP.NET Core 应用程序中使用 IronXL 打开 Excel 文件。 IronXL 提供了一种简单而便捷的方式来读取和操作 Excel 文件。 您可以浏览 IronXL 文档以了解更多高级功能和特性。

IronXL 提供免费试用,让您可以评估其功能。 如果您发现它对您的项目有用,您可以从$999开始购买许可证。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户