什么是NPOI 该项目是位于http://poi.apache.org/的POI Java项目的.NET版本.POI是一个开源项目,可以帮助您读取/写入xls,doc,ppt文件.它有着广泛的应用.本文给大家介绍ASP.Net MVC利用NPOI导入导出Excel的问题. 因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 (Action一定要用FileResult) /// <summary> /// 批量导出本校第一批派位学生 /// </summary>
ASP.Net MVC利用NPOI导入导出Excel的示例代码
SQL使用复合索引实现数据库查询的优化
目录 一 问题 二 分析 三 解决方案 一 问题 程序再在一次查询时出现查询时间过长,每次查询要1-2分钟业务反馈用户操作体验很差,sql如下: select * FROM edi_booking edibooking0_ WHERE 1 = 1 AND edibooking0_.load_port_code IN ('CNCWN', 'CNDCB', 'AA', 'CNMWN' , 'CWHSD', 'CNSHK', 'CNYTN', 'CNSKU') AND edibooking0_.car
一文搞懂PHP中的抽象类和接口
目录 一.抽象类 1.定义 2.应用场景 3.入门代码 4.细节 5. 代码分解 二.接口 1.定义 2. 应用场景 3.入门代码 4.注意细节 三.类和接口之间关系 一.抽象类 1.定义 用abstract 关键字来修饰一个类时,这个类就叫抽象类. 用abstract 关键字来修饰一个方法时,这个方法就是抽象方法. 2.应用场景 在实际开发中,我们可能有这样一种类,是其它类的父类,但是它本身并不需要实例化,主要用途是用于让子类来继承(规定子类),这样可以到达代码复用. 同时利于项目设计者来设计
Python代码实现双链表
本文实例为大家分享了Python代码实现双链表的具体代码,供大家参考,具体内容如下 双链表的每个节点有两个指针: 一个指向后一个节点,另一个指向前一个节点 class Node(object): def __init__(self, item=None): #放数据 self.item= item #指向后一个节点 self.next = None #指向前一个节点 self.prior =N
Java实现扫雷游戏详细代码讲解
目录 效果展示 难度选择展示 游戏界面展示 代码展示 主类:GameWin类 底层地图MapBottom类 顶层地图MapTop类 底层数字BottomNum类 初始化地雷BottomRay类 工具GameUtil类 难度选择GameSelect类 项目结构 程序界面布局 总结 大家好!上一期我们使用GUI技术写了一个简单的扫雷小游戏,今天对这个Java应用程序更新迭代,增加了难度选择等功能,修复了已知的几个问题.成为初学者学习的好项目!Java实现扫雷小游戏[完整版] 效果展示 难度选择展示
Mybatis的where标签使用总结梳理
目录 背景 原始的手动拼接 Mybatis where标签的使用 进阶:自定义trim标签 where语句的坑 小结 背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<MySQL中where 1=1方法的使用及改进>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋友在评论区有朋友问了基于Mybatis写法的问题. 本篇文章会将Mybatis中where标签的基本使用形式.小技巧以及容易踩到的坑进行总结梳理,方便大家更好地实践运用d 原始的手动拼接 在
C#文件路径Path类介绍
Path类 以帮助在程序中管理文件和目录路径. Path类位于System.IO命名空间,是一个静态类,可以用来操作路径的每一个字段,如驱动器盘符.目录名.文件名.文件扩展名和分隔符等. Path类的静态属性和方法,此类操作不影响物理文件. 1.属性 Path类的常用字段成员有PathSeperator(路径分隔符,如”;”).DirectorySeparatorChar(目录分隔符,如”\”).VolumeSeparator(卷分隔符,如”:”).AltDirectorySeparator(替
.Net设计模式之原型模式(Prototype)
一.动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作:由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口.如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求改变而改变? 二.意图(Intent) 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象——<设计模式>GoF 三.结构(Structure) 我们看了这么多设计模式的类图了,大
python双向循环链表实例详解
使用python实现双向循环链表,供大家参考,具体内容如下 双向循环链表: 将所有的数据存放到节点中,每一个节点相连接,首尾链接,每一个节点中有一个数据存储区,和两个链接区,一个链接前一个节点,一个链接下一个节点 双向链表操作 1.链表是否为空2.链表的长度3.遍历链表4.链表头部添加元素5.链表尾部添加元素6.链表指定位置添加元素7.链表删除节点8.查找节点是否存在 代码实现 # Functions 函数声明 class Node(): """实例化节点类&quo
如何利用Python随机从list中挑选一个元素
目录 1. 引言 2. 举个栗子 3. 使用Random库 3.1 随机下标 3.2 随机选择单个元素 3.3 随机选择多个元素 4. 使用Secrets库 4.1 随机下标 4.2 随机选择单个元素 4.3 随机选择多个元素 5. 总结 1. 引言 在本文中,我们将研究从列表中选择随机元素的不同实现方法.在日常项目中,我们经常会遇到这种情形,比如随机从多种数据增强策略中选择一种或几种来提升训练数据的多样性.闲话少说,我们直接开始吧. :) 2. 举个栗子 为了方便示例,这里我们假设有一个包含多
python双向链表实例详解
使用python实现双向链表,供大家参考,具体内容如下 双向链表: 指的是讲数据链接在一起,每个数据是一个节点,每一个节点都有一个数据区,两个链接区,分别链接上一个节点和下一个节点数据区: 存放数据的地方 prev: 链接上一个节点next: 链接下一个节点 双向链表操作 1.链表是否为空2.链表的长度3.遍历链表4.链表头部添加元素5.链表尾部添加元素6.链表指定位置添加元素7.链表删除节点8.查找节点是否存在 代码实现 # Functions 函数声明 class Node():
Springboot插件开发实战分享
目录 一 背景 二 监控日志插件开发 1 新建aop切面执行类MonitorLogInterceptor 三 总结 一 背景 项目新增监控系统,对各个系统进行监控接口调用情况,初期的时候是在各个项目公共引用的依赖包里面新增aop切面来完成对各个系统的接口调用进行监控,但是这样有缺点,一是不同项目的接口路径不同,导致aop切面要写多个切面路径,二是一些不需要进行监控的系统,因为引入了公共包也被监控了,这样侵入性就太强了.为了解决这个问题,就可以通过springboot的可插拔属性了. 二 监控日志
.Net结构型设计模式之装饰模式(Decorator)
目录 一.动机(Motivate) 二.意图(Intent) 三.结构图(Structure) 四.模式的组成 五 .装饰模式的具体代码实现 六.装饰模式的实现要点: 1.装饰模式的优点: 2.装饰模式的缺点: 3.在以下情况下应当使用桥接模式: 七..NET 中装饰模式的实现 一.动机(Motivate) 在房子装修的过程中,各种功能可以相互组合,来增加房子的功用.类似的,如果我们在软件系统中,要给某个类型或者对象增加功能,如果使用“继承”的方案来写代码,就会出现子类暴涨的情况.比如:IMar
JavaScript 防抖debounce与节流thorttle
目录 一.防抖(Debounce) 1.1 防抖函数的实现 (1)版本1 —— 停止触发事件n毫秒后执行回调函数 (2)版本2 1.2 防抖的实际应用 (1)搜索框建议项 (2)消除resize事件处理程序的抖动. (3)自动保存 (4)手机号.邮箱等输入验证检测 (5)在用户停止输入之前不要发出任何 Ajax 请求 二.节流(Throttle) 2.1 节流函数的实现 (1)版本1 —— 使用定时器 (2)版本2 —— 计算当前时间与上次执行函数时间的间隔 2.2 节流的实际应用 (1)游戏中
微信小程序获取手机验证码的方法
本文实例为大家分享了微信小程序获取手机验证码的具体代码,供大家参考,具体内容如下 完成手机验证码的功能: (1)效果图如下: (开始发送验证码) (重新发送验证码) (2)需求及思路说明: 输入正确的11位手机号,使用正则校验. 校验手机号的归属地----北京移动(这个根据需求而定) 点击 “获取验证码” ,获取成功与失败,都会以弹框的形式展现,完成倒计时. 倒计时为 ‘0’ 的时候,按钮文字变成 “重新发送” 当按钮是 “获取验证码” 和 “重新发送” 的时候,按钮是可以点击进行倒计时的 在倒
Nginx 配置 HTTPS的详细过程
目录 1. nginx 的 ssl 模块安装 2. ssl 证书部署 3. nginx.conf 配置 4. 重启 nginx 配置站点使用 https,并且将 http 重定向至 https. 1. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块. $ /usr/local/nginx/sbin/nginx -V 如果出现 configure arguments: --with-http_ssl_module, 则已安装(下面的步骤可以跳过,
Spring MVC数据响应处理详解
目录 1. 内置视图解析器 2. 使用原生servlet的对象传递数据 3. 使用ModelAndView对象传输数据 4. 使用Model.Map.ModelMap传输数据 5. 使用session传输数据 总结 1. 内置视图解析器 Spring MVC 中的视图解析器负责解析视图,可以通过在配置文件中定义一个ViewResolver来配置视图解析器,配置如下: <!--默认的内置视图解析器--> <bean id="viewResolver" class=&qu
Python+Kivy编写一个乒乓球游戏
目录 前言 1.准备 2.简单使用 Kivy 3.Kivy - 添加简单图形 4. Kivy - 增加乒乓球球体 5. kivy - 增加乒乓球体运动 6. Kivy - 球拍移动事件 前言 好久没有写游戏系列教程了,今天恰好浏览到了 Kivy 这个开源跨平台的Python 框架,它能用于开发多点触控的用户界面程序,允许快速简单的交互设计,非常方便,于是有了制作本教程的想法. 本教程将教你如何使用 Kivy 编写一款乒乓球游戏.我们将从一个基本的应用程序开始,描述创建这个游戏的每个步骤. Kiv
解析go语言调用约定多返回值实现原理
目录 go简单代码反汇编 go语言调用约定分析 1.C/C++调用约定类别 2.go语言调用约定 go语言如何实现多返回值的 总结 go简单代码反汇编 用简单的代码用以分析go的调用约定及多返回值的返回方式. package main func vals(c, d int) (a int, b int) { e := 1 f := 2 a = c + d + e + f b = d * 2 return } func testMutil() { i, j := vals(1, 2) i = i
Vue页面生成PDF的最佳方法推荐
目录 前言 安装依赖 页面转图片 图片转PDF A4打印适配 总结 前言 最近项目有个需求,将系统统计的数据生成分析报告,然后可以导出成PDF. 这种方法可以有两种,一种是直接调用打印,用户通过浏览器提供的打印页面手动选择导出PDF.当然这种方式兼容性差,且体验不好,显然不是我们想要的效果. 那么第二种方法的实现思路是什么呢? 首先生成报告页面,也就是常规页面: 然后将页面转换成图片( 用到的组件 html2canvas ): 最后将图片导出成PDF( 用到的组件 jspdf ). 安装依赖 n