从 C# MVC 运用程序中的 Excel (XLSX) 文件导入数据涉及利用类似 or 的库来读取和剖析文件。在本指南中,我们将利用该库,由于它大略且功能强大。
先决条件在开始之前,请确保知足以下条件:
Visual Studio 或任何 C# IDE

基本理解 C#、ASP.NET MVC 和 HTML
要读取的 Excel 文件
设置项目创建新的 ASP.NET MVC 项目:
打开 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: Productpublic ActionResult Index() {return View(); } [HttpPost]public ActionResult Import(HttpPostedFileBase file) {if (file != && 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 viewreturn 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 != && 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 文件。
如果模型包含数据(即导入产品列表),我们会将其显示在表格中。
运行运用程序通过在 Visual Studio 中按或运行项目来启动运用程序。F5
导航到“产品导入”页面。
上传包含商品数据的 Excel 文件。
查看表格中显示的入口产品。
在本先容了如何利用库从 C# MVC 运用程序中的 Excel (XLSX) 文件导入数据。通过创建大略的文件上传表单并剖析 Excel 文件,您可以轻松地在 ASP.NET MVC 运用程序中导入和处理数据。
如果你喜好我的文章,请给我一个赞!
感激