.net core3.1 从excel表读取(导入)数据 实战

2021-01-17 17:11

阅读:620

标签:输出   book   console   text   default   准备   append   margin   dimen   

话不多说,直接上操作:(本文是从excel表读取数据输出到控制台)

1.数据准备,根据数据表结构新建excel表,放入一些测试数据,数据表结构如下图1:

技术图片

 

 图1 数据表结构

excel数据如下图2:(建议excel表列名称和数据表的列名保持一致)

技术图片

 

图2 excel表数据

2.新建一个控制器和业务逻辑代码(用于添加数据到数据库),在控制其中添加一个页面,并放入一个文件域和“导入数据”按钮,

控制器代码如下:

[Route("[controller]")]
    public class TestController : Controller
    {
        [Route("[action]")]
        public async Task Index()
        {       
            return View();
        }
    
         /// 
        /// 导入excel数据
        /// 
        /// 
        [Route("ImportExcelData")]
        public ResponseData> ImportExcelData()
        {
            var response = new ResponseData>();//ResponseData为创建的一个Ajax请求返回模型,需要请告知,TableLawyer为根据数据库创建的实体模型,根据不同的数据表结构而不同
var lawyers = new List(); var files = Request.Form.Files; if (files == null || files.Count  1) { response.Result = false; response.Message = "仅支持单文件加载"; return response; } using (var stream = files.FirstOrDefault()?.OpenReadStream()) { using var ep = new ExcelPackage(stream); using var worksheet = ep.Workbook.Worksheets.FirstOrDefault(); //行 var columns = worksheet?.Dimension.Columns; //列 var rows = worksheet?.Dimension.Rows; var columnName = new Dictionary();//存储列名 for (var i = 1; i (value); break; } } if (model != null && model.LawyerId > 0) { lawyers.Add(model); } } //lawyers 即需要的数据列表,调用相关业务逻辑方法插入到数据库即可 } response.Result = lawyers.Any(); response.Data = lawyers; response.Message = response.Result ? "导入成功" : "导入失败"; return response; } }

前端页面代码代码如下:


javascript代码如下:

 

选择文件,点击导入数据,可在控制台中看到获取到的数据列表,如图3:

技术图片

 

图3 从excel成功获取数据 

以上便是我的从excel表读取(导入)数据过程及代码,若有不足之处请指正,谢谢。

 

.net core3.1 从excel表读取(导入)数据 实战

标签:输出   book   console   text   default   准备   append   margin   dimen   

原文地址:https://www.cnblogs.com/ouqi/p/13362079.html


评论


亲,登录后才可以留言!