第一步 下载NuGet NPOI包

    /// <summary>
/// 将excel文教导入到订单表
/// </summary>
/// <param name="file">excel文件</param>
/// <returns>: -1 ;返回导入文件格式不正确</returns>
[HttpPost]
public IActionResult UpdloadOrder(IFormFile file)
{ try
{ //一、验证文件格式(.xlsx/ .xls)
string exeFile = Path.GetExtension(file.FileName); //获取文件名后缀
if (exeFile != ".xlsx" && exeFile != ".xls")
{
return Ok(-1);
}
//二、将excel订单信息转为List<订单>
//(1)将excel文件转为工作(文件->内存流->工作薄)
IWorkbook wb = null; //工作薄
using (MemoryStream ms = new MemoryStream())
{
file.CopyTo(ms); //文件·-> 内存流
ms.Position = 0; //xls是2003版Office Microsoft Office Excel 工作表的格式
//xlsx是2007版Office Microsoft Office Excel 工作表的格式
if (exeFile == ".xlsx")
{
wb = new XSSFWorkbook(ms);
}
else
{
wb = new HSSFWorkbook(ms);
} }
//(2)获取工作薄的第一页
ISheet sheet = wb.GetSheetAt(0); //(3) 第一页的数据(行 单元格)
int rowNum = sheet.LastRowNum; //最后一行的行号 行号是从1开始0 //(4)创建表的集合实例
List<OrderInfo> orderInfos = new List<OrderInfo>(); //(5)循环 数据 将每条数据添加到List<订单>
for (int i = 1; i <= rowNum; i++)
{
OrderInfo curOrder = new OrderInfo(); //实例化表 根据自己要导入的表
IRow curRow = sheet.GetRow(i); //当前行
curOrder.ONumber = YitIdHelper.NextId().ToString(); //订单编号 雪花编号
curOrder.OName = curRow.GetCell(0).StringCellValue; //字符串
curOrder.OPhone = curRow.GetCell(1).StringCellValue;
curOrder.Address = curRow.GetCell(2).StringCellValue;
curOrder.Freight = (decimal)curRow.GetCell(3).NumericCellValue;//double数字 curOrder.OrderForm = curRow.GetCell(4).NumericCellValue == 1; //布尔类型
curOrder.TotalCount = (int)curRow.GetCell(5).NumericCellValue; //int 类型
curOrder.TotalMoney = (decimal)curRow.GetCell(6).NumericCellValue; //double数字
curOrder.PayType = (PayType)curRow.GetCell(7).NumericCellValue; //枚举
curOrder.OrderStatus = (OrderStatus)curRow.GetCell(8).NumericCellValue;//枚举 orderInfos.Add(curOrder); //将当前实例对象添加到集合
} //三、将List<订单>写到数据表中 //后台订单添加集合的方法
int res = bll.ListToOrder(orderInfos); return Ok(res);
}
catch (Exception exp)
{ //写入日志
logger.LogError("订单表Excel导入错误" + exp.Message);
throw;
} }

.Net Code Excel 文件导入的更多相关文章

  1. (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库

    场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL  ...

  2. NodeJs之EXCEL文件导入导出MongoDB数据库数据

    NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...

  3. MVC3学习:将excel文件导入到sql server数据库

    思路: 1.将excel文件导入到服务器中. 2.读取excel文件,转换成dataset. 3.循环将dataset数据插入到数据库中. 本例子使用的表格为一个友情链接表F_Link(LinkId, ...

  4. excel文件导入mysql

    在数据处理的过程中,常常要把windows下的excel文件导入linux下的mysql.这其中会出现一些问题. 1.首先,要在mysql中建表.命令最好存在记事本中,可以随时修改,随时执行 crea ...

  5. Excel导入导出工具(简单、好用且轻量级的海量Excel文件导入导出解决方案.)

    Excel导入导出工具(简单.好用且轻量级的海量Excel文件导入导出解决方案.) 置顶 2019-09-07 16:47:10 $9420 阅读数 261更多 分类专栏: java   版权声明:本 ...

  6. 十万级百万级数据量的Excel文件导入并写入数据库

    一.需求分析 最近接到一个需求,导入十万级,甚至可能百万数据量的记录了车辆黑名单的Excel文件,借此机会分析下编码过程; 首先将这个需求拆解,发现有三个比较复杂的问题: 问题一:Excel文件导入后 ...

  7. C# excel文件导入导出

    欢迎关注微信公众号 C#编程大全 这里有更多入门级实例帮你快速成长 在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获! 环境:wi ...

  8. PHP Excel文件导入数据到数据库

    1.php部分(本例thinkphp5.1): 下载PHPExcel了扩展http://phpexcel.codeplex.com/ <?phpnamespace app\admin\contr ...

  9. php Excel文件导入 Spreadsheet_Excel_Reader

    刚刚开通博客,希望能够通过博客的形式记录自己的学习与成长,同时也希望能够和路上的同僚们多交流,共同进步 小白  ->  大神  go! go! go!! 先总结一下前几天写的Excel导入吧,希 ...

  10. Excel文件导入导出(基于Nodejs、exceljs)

    Excel导入.导出是大多数项目的管理后台必备功能.几年来使用过多个该功能的实现包,最近一次开发该功能,突然发现一个人气极高(3000+)的包,这里记录一下使用方法. 大凡厉害的技术的文档咋一看都想字 ...

随机推荐

  1. [转帖]【基础】HTTP、TCP/IP 协议的原理及应用

    https://juejin.cn/post/6844903938232156167 前言 本文将持续记录笔者在学习过程中掌握的一些 HTTP .TCP/IP 的原理,以及这些网络通信技术的一些应用场 ...

  2. [转帖]引人入胜,实战讲解“Java性能调优六大工具”之linux命令行工具

    Java性能调优六大工具之Linux命令行工具 为了能准确获得程序的性能信息,需要使用各种辅助工具.本章将着重介绍用于系统性能分析的各种工具.熟练掌握这些工具,对性能瓶颈定位和系统故障排查都很有帮助. ...

  3. [转帖]springboot指定端口的三种方式

    https://blog.51cto.com/feirenraoyuan/5504099 第一配置文件中添加server.port=9090 第二在命令行中指定启动端口,比如传入参数 java -ja ...

  4. 华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力

    本文分享自华为云社区<华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力>,作者: 云容器大未来. 基于eBPF的容器监控的兴起 容器具有极致弹性.标准运行时.易于部署等 ...

  5. git创建分支出现 fatal: Not a valid object name: 'master'.

    今天使用git 创建新分支的时候 出现了一个错误 fatal: Not a valid object name: 'master'. 问题描述:一个非法的master,原因:本地还没有创建master ...

  6. vm-storage在全部都是新metric情况下的写入性能测试

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 vm-storage中,写入索引的性能要比写入data p ...

  7. Gin 路由注册与请求参数获取

    目录 一.Web应用开发的两种模式 1.前后端不分离模式 2.前后端分离模式 二.RESTful介绍 三.API接口 3.1 RESTful API设计指南 3.2 API与用户的通信协议 3.3 R ...

  8. FMEA:总监和架构师都在用的高可用架构分析方法

    FMEA:总监和架构师都在用的高可用架构分析方法 记得之前准备春晚项目的时候,团队成员在一起过架构,老板最常问的问题是"这个组件挂了怎么办?有什么影响?",我当时还在心里默默嘀咕: ...

  9. python处理Excel实现自动化办公教学(含实战)【一】

    相关文章: python处理Excel实现自动化办公教学(含实战)[一] python处理Excel实现自动化办公教学(含实战)[二] python处理Excel实现自动化办公教学(数据筛选.公式操作 ...

  10. endnote文献使用简明教程+遇到问题

    安装下载endnote 1.双击[EndNote X9 v19.0.0.12062 Setup.msi]安装EndNote X9,安装时选择试用,安装完成后不要运行EndNote: 2.如果想使用汉化 ...