如何在 C# MVC 应用程序中从 Excel“XLSX”文件导入数据

d2af8a0cc347a76554c9689ecfbf3810.jpeg

从 C# MVC 应用程序中的 Excel (XLSX) 文件导入数据涉及使用类似 or 的库来读取和分析文件。在本指南中,我们将使用该库,因为它简单且功能强大。

先决条件

在开始之前,请确保满足以下条件:

  • Visual Studio 或任何 C# IDE

  • 基本了解 C#、ASP.NET MVC 和 HTML

  • 要读取的 Excel 文件

设置项目

  1. 创建新的 ASP.NET MVC 项目:

  2. 打开 Visual Studio 并创建新的 ASP.NET MVC 项目:

File > New > Project > ASP.NET Web Application > MVC

3. 安装 EPPlus 库:

4. 通过 NuGet 包管理器安装库。在包管理器控制台中运行以下命令:EPPlus

Install-Package EPPlus

创建模型

首先,创建一个模型类来表示要从 Excel 文件导入的数据。例如,让我们创建一个模型:Product

public class Product  
{  
    public int Id { get; set; }  
    public string Name { get; set; }  
    public decimal Price { get; set; }  
}

创建控制器

接下来,创建一个控制器来处理文件上传和数据处理。在此示例中,让我们创建一个:ProductController

using System.Collections.Generic;
using System.IO;
using System.Web;
using System.Web.Mvc;
using EPPlusSample.Models;
using OfficeOpenXml;
namespace EPPlusSample.Controllers
{
    public class ProductController : Controller
    {
        // GET: Product
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Import(HttpPostedFileBase file)
        {
            if (file != null && file.ContentLength > 0)
            {
                var products = new List<Product>();
                using (var package = new ExcelPackage(file.InputStream))
                {
                    var worksheet = package.Workbook.Worksheets[0];
                    var rowCount = worksheet.Dimension.Rows;
                    for (int row = 2; row <= rowCount; row++)
                    {
                        var product = new Product
                        {
                            Id = int.Parse(worksheet.Cells[row, 1].Text),
                            Name = worksheet.Cells[row, 2].Text,
                            Price = decimal.Parse(worksheet.Cells[row, 3].Text)
                        };
                        products.Add(product);
                    }
                }
                // Save products to the database or process them as needed
                // For simplicity, we'll just pass the list to the view
                return View("Index", products);
            }
            return View("Index");
        }
    }
}

在此代码中:

  • 我们定义一个操作来显示上传表单。Index

  • 该操作处理文件上传并使用 .ImportEPPlus

  • 我们解析 Excel 数据并创建一个对象列表。Product

  • 最后,我们将产品列表传递给视图以进行显示或进一步处理。

创建视图

为上传 Excel 文件并显示导入数据的操作创建视图。在文件夹中创建一个包含以下内容的文件:IndexIndex.cshtmlViews/Product

@model IEnumerable<EPPlusSample.Models.Product>
@{
    ViewBag.Title = "Import Products";
}
<h2>Import Products</h2>
<form action="/Product/Import" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <button type="submit">Upload</button>
</form>
@if (Model != null && Model.Any())
{
    <h3>Imported Products</h3>
    <table class="table">
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Price</th>
            </tr>
        </thead>
        <tbody>
            @foreach (var product in Model)
            {
                <tr>
                    <td>@product.Id</td>
                    <td>@product.Name</td>
                    <td>@product.Price</td>
                </tr>
            }
        </tbody>
    </table>
}

在此视图中:

  • 我们创建一个表单来上传 Excel 文件。

  • 如果模型包含数据(即导入产品列表),我们会将其显示在表格中。

运行应用程序

  1. 通过在 Visual Studio 中按或运行项目来启动应用程序。F5

  2. 导航到“产品导入”页面。

  3. 上传包含商品数据的 Excel 文件。

  4. 查看表格中显示的进口产品。

在本介绍了如何使用库从 C# MVC 应用程序中的 Excel (XLSX) 文件导入数据。通过创建简单的文件上传表单并分析 Excel 文件,您可以轻松地在 ASP.NET MVC 应用程序中导入和处理数据。

如果你喜欢我的文章,请给我一个赞!谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值