IRONSOFTWAREHOME
USING IRONXL

如何在 ASP.NET 中查看 Excel

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

本综合教程将演示如何使用ASP.NET MVC和IronXL构建一个Excel查看器。 此查看器将使用户能够直接从他们的网页中显示、编辑和浏览Excel文件。

什么是 IronXL?

IronXL 是一个功能强大的.NET库,提供与Excel操作相关的大量功能。 它提供了简化的API,让.NET开发人员能够以包括XLS、XLSX、CSV等在内的各种文件格式编写、操作和读取Excel文档

使用IronXL,您可以读取Excel文件,提取数据、添加或编辑工作表、创建或修改行和列、应用公式、保存更改等等。 所有这些操作都可以在不需要在您的机器上安装Microsoft Excel的情况下进行。

IronXL支持图像、样式、条件格式和其他复杂的Excel功能,使其成为.NET Excel操作的全面解决方案。 它非常适合处理您的ASP.NET MVC应用程序的数据源和电子表格需求。 将在ASP.NET Web应用程序中使用IronXL库查看Excel文件。

前提条件

  • 对ASP.NET MVC有基本了解
  • 在您的机器上安装了Visual Studio
  • 安装了 IronXL 库。 您可以在其官方文档中找到安装指南。

开始

首先,让我们在Visual Studio中创建一个新的ASP.NET MVC项目。

  1. 打开 Visual Studio。

  2. 点击文件 > 新建 > 项目

  3. 在新项目窗口中,选择ASP.NET Web 应用程序 (.NET Framework) 模板。

    如何在ASP.NET中查看Excel,图1:在Visual Studio中创建一个新的ASP.NET Web应用程序 在Visual Studio中创建新的ASP.NET Web应用程序

  4. 命名您的项目ExcelViewer,选择项目位置,然后点击创建按钮。

    如何在ASP.NET中查看Excel,图2:配置您的项目 配置您的项目

这篇文章将集中在实现此ASP.NET MVC应用程序中的Excel查看器功能。

将IronXL添加到您的项目中

为了处理Excel文件格式(如.xls、.xlsx和.csv),IronXL提供全面的功能来加载Excel文档、读取、写入甚至修改Excel数据。 它支持公式、图像、格式化等多种功能。

  1. 解决方案资源管理器中右键点击您的项目,然后导航到管理NuGet包

  2. NuGet包管理器中,搜索IronXL.Excel

  3. 点击安装将其添加到您的项目中。

    如何在ASP.NET中查看Excel,图3:在NuGet包管理器UI中搜索并安装IronXL包 在 NuGet 包管理器 UI 中搜索并安装 IronXL 包

您还可以使用以下命令通过包管理器控制台安装IronXL:

PM > Install-Package IronXL.Excel

如何在ASP.NET中查看Excel,图4:从包管理器控制台安装IronXL包 从包管理器控制台安装IronXL包

现在IronXL已安装,让我们进入下一步。

构建模型

ExcelModel

第一步是为Excel数据创建一个模型。 ExcelModel类将表示一个Excel工作表,并将包含工作表名称和Excel工作表中存在的数据。

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelModel
    {
        public string SheetName { get; set; }
        
        // Data is a list of string arrays, each array represents a row in the sheet.
        public List<string[]> Data { get; set; }
    }
}
C#

DataSheetName是一个简单的字符串,用于保存每个Excel工作表的名称。 Data是一个字符串数组的列表,用于存储Excel工作表中每行的数据。

ExcelViewModel

接下来,让我们创建ExcelViewModel。 此模型是一个包含文件、消息和ExcelModel列表的包装器,表示文件中所有工作表的数据。

using Microsoft.AspNetCore.Http;
using System.Collections.Generic;

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelViewModel
    {
        public IFormFile File { get; set; }  // For uploading Excel file
        public string Message { get; set; }  // Message for storing success/error messages
        public List<ExcelModel> ExcelData { get; set; }  // List to store data from all sheets
    }
}

此类将用作视图模型。 它有一个List<ExcelModel>用于存储检索到的Excel数据。

5. 创建ExcelController以加载Excel文件进行数据提取

然后创建一个新的ExcelController。 这是奇迹发生的地方! 使用IronXL的ExcelViewModel

using Excel_File_Viewer_IronXl.Models;
using IronXL;
using System.Collections.Generic;
using System.Web.Mvc;
using System;
using System.Linq;

public class ExcelController : Controller
{
    // GET: Excel
    public ActionResult Index()
    {
        var model = new ExcelViewModel();

        // Define the file path for the Excel file
        string filePath = Server.MapPath("~/App_Data/Test.xlsx"); 

        // List to store data for each sheet
        List<ExcelModel> data = new List<ExcelModel>();

        try
        {
            // Load workbook directly from a file path
            var workbook = WorkBook.Load(filePath);
            
            // Loop through all worksheets in the workbook
            foreach (var worksheet in workbook.WorkSheets)
            {
                // Add each worksheet's name and data to the data list
                data.Add(new ExcelModel
                {
                    SheetName = worksheet.Name,
                    Data = worksheet.Rows.Select(r => r.ToArray().Select(c => c.Value.ToString()).ToArray()).ToList()
                });
            }

            model.ExcelData = data;
            model.Message = "File processed successfully!";
        }
        catch (Exception ex)
        {
            model.Message = $"Error occurred while processing file: {ex.Message}";
        }

        return View(model);
    }
}
C#

在这里,初始化一个ExcelViewModel,然后使用IronXL加载WorkBook,循环遍历每个ExcelModel。 然后将ExcelViewModel

将加载和显示以下Excel文件的数据:

如何在ASP.NET中查看Excel,图5:示例Excel文件 示例Excel文件

6. 创建视图

在您的Views/Excel目录中,创建一个新的HTML文件Index.cshtml以显示Excel数据。 然后使用Bootstrap的nav-tabs来表示Excel文件中的每个工作表。每个工作表将是一个独立的标签页,标签页的内容将是工作表的数据。

@model Excel_File_Viewer_IronXl.Models.ExcelViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Excel File Viewer</h2>

@if (Model.ExcelData != null)
{
    <ul class="nav nav-tabs" id="myTab" role="tablist">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <li class="nav-item">
                <a class="nav-link @(i == 0 ? "active" : "")" id="tab-@i" data-toggle="tab" href="#content-@i" role="tab" aria-controls="content-@i" aria-selected="@(i == 0)">
                    @Model.ExcelData[i].SheetName
                </a>
            </li>
        }
    </ul>
    <div class="tab-content" id="myTabContent">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <div class="tab-pane fade @(i == 0 ? "show active" : "")" id="content-@i" role="tabpanel" aria-labelledby="tab-@i">
                <table class="table table-bordered">
                    @foreach (var row in Model.ExcelData[i].Data)
                    {
                        <tr>
                            @foreach (var cell in row)
                            {
                                <td>@cell</td>
                            }
                        </tr>
                    }
                </table>
            </div>
        }
    </div>
}

在此代码示例中,nav nav-tabs将生成一个标签页列表,每个标签页代表Excel文件中的一个工作表。相应的标签页内容将以表格格式显示相应工作表的数据。 通过进行一些更改,添加了一个浏览按钮以手动选择Excel文件。

运行程序

按下所有步骤进行设置并正确设置项目后,是时候运行它了。 您应该会看到一个以Excel文件中的工作表名称命名的tabs构成的网页。点击标签将以表格式显示相应工作表的数据。

如何在ASP.NET中查看Excel,图6:Excel查看器 Excel查看器

结论

您刚刚使用IronXL创建了一个ASP.NET Excel查看器! 这个强大的库使用户能够更高效、更易于管理地处理Excel文件。 在.NET环境中,借助IronXL,处理Excel文件从未如此简单。

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 天试用密钥
无需信用卡或创建账户