如何在 C# MVC 应用程序中从 Excel“XLSX”文件导入数据
内容提要
本文介绍了如何使用C# MVC应用程序中的EPPlus库来导入Excel(XLSX)文件中的数据。首先创建模型类表示要导入的数据,然后创建控制器处理文件上传和数据处理,最后创建视图显示导入的数据。通过这种方法,可以轻松地在ASP.NET MVC应用程序中导入和处理Excel数据。
延伸解读
EPPlus 库的选用理由
文章选择 EPPlus 是因为它简单且功能强大,适合在 C# MVC 中读取和解析 XLSX 文件。通过 NuGet 安装后,可直接在控制器中使用 ExcelPackage 类操作 Excel 数据,无需依赖 Office 组件。对于需要快速实现导入功能的项目,这是一个轻量且易上手的方案。
数据解析的硬编码假设
示例代码假设 Excel 第一行是标题,从第二行开始读取数据,并固定按列顺序解析 Id、Name 和 Price。如果实际文件列顺序不同、存在空行或格式不一致,int.Parse 和 decimal.Parse 可能抛出异常。实际应用中需增加数据验证和错误处理,避免因文件格式问题导致导入失败。
文件上传与视图交互
视图通过 multipart/form-data 表单将文件提交到 Import 操作,控制器接收 HttpPostedFileBase 并直接读取流。导入成功后,产品列表被传递回同一视图并以表格展示。这种模式适合简单场景,但未涉及文件大小限制、类型校验或异步处理,生产环境需考虑这些因素。
后续扩展方向
文章在 Import 操作中注释了可将产品保存到数据库或进一步处理,但示例仅将列表传递给视图。若需持久化,可在此处接入 Entity Framework 等 ORM。此外,当前仅读取第一个工作表,若 Excel 包含多个工作表,需指定名称或索引,这些是实际开发中常见的调整点。
Q&A
如何在C# MVC应用程序中导入Excel文件的数据?
可以使用EPPlus库来导入Excel(XLSX)文件中的数据,首先创建模型类表示数据,然后创建控制器处理文件上传和数据处理,最后创建视图显示导入的数据。
使用EPPlus库的前提条件是什么?
需要具备Visual Studio的基本了解,以及C#、ASP.NET MVC和HTML的基础知识。
如何创建表示导入数据的模型类?
可以创建一个名为Product的模型类,包含Id、Name和Price属性来表示要导入的数据。
在控制器中如何处理Excel文件的上传?
在控制器中定义Import操作,检查文件是否存在并解析Excel数据,创建Product对象列表并将其传递给视图。
如何创建视图以显示导入的数据?
创建一个Index.cshtml视图,包含文件上传表单和用于显示导入产品数据的表格。
如何运行C# MVC应用程序并上传Excel文件?
在Visual Studio中按F5运行项目,导航到产品导入页面,上传包含商品数据的Excel文件并查看导入的产品。