XLSX

springboot+jxls 根据Excel模板 填写数据并导出

余生长醉 提交于 2020-05-08 02:16:19
项目结构 pom.xml <!--jxls导出依赖jar包--> <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.6</version> <scope>compile</scope> </dependency> 学生信息表模板: ExcelUtiles package cn.bdqn.utils; import net.sf.jxls.transformer.XLSTransformer; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.util.ResourceUtils; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.Map; /** * @ProjectName: Student * @Author: huat * @Date: 2020/5/7 8:53 * @Version: 1.0 */ public class ExcelUtiles { /** * 输出表格 * @param map 表格中数据 * @param

python:利用smtplib发送邮件详解

你离开我真会死。 提交于 2020-05-07 21:39:58
本文转自: https://www.cnblogs.com/insane-Mr-Li/p/9121619.html 自动化测试中,测试报告一般都需要发送给相关的人员,比较有效的一个方法是每次执行完测试用例后,将测试报告(HTML、截图、附件)通过邮件方式发送。 首先我们要做: 进入163邮箱,点击设置中的pop3/smtp/imap 开启smtp服务,如果没有开启,点击设置,手机号验证后勾选开启即可,开启后图如下: 主要用到的就是smtp服务器:smtp.163.com 然后设置客户端授权密码: 记住密码,如果不记得密码在这重新授权。手机号验证即可重新授权。这个密码一会写代码的时候要用 设置成功后,开始写代码 一、python对SMTP的支持 SMTP(Simple Mail Transfer Protocol)是简单传输协议,它是一组用于用于由源地址到目的地址的邮件传输规则。 python中对SMTP进行了简单的封装,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 1、python对SMTP的支持 ①email模块:负责构建邮件 ②smtplib模块:负责发送邮件 可以通过help()方法查看SMTP提供的方法: 1 >>> from smtplib import SMTP 2 >>> help(SMTP) 3 Help on class SMTP in module

使用Python自动生成报表以邮件发送

别等时光非礼了梦想. 提交于 2020-05-07 18:44:14
使用Python自动生成报表以邮件发送 Python中文社区 发表于 Python中文社区 订阅 89 编程狗在线 自由的编程学习平台 数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。 首先来介绍下实现自动报表要使用到的Python库: pymysql 一个可以连接MySQL实例并且实现增删改查功能的库 datetime Python标准库中自带的关于时间的库 openpyxl 一个可以读写07版以后的Excel文档(.xlsx格式也支持)的库 smtplib SMTP即简单邮件传输协议,Python简单封装成了一个库 email 一个用来处理邮件消息的库 为什么使用openpyxl库来处理Excel呢?因为它支持每个sheet的行数为100W+,也是支持xlsx格式的文件。如果你接受xls文件,并且每个sheet的行数小于6W,也是可以使用xlwt库,它对大文件的读取速度要大于openpyxl。 接下来我们就进入实战部分,来正式实现这个过程。我把整个实现过程分成几个函数的方式来实现,这样看着会比较有结构感。 一、首先导入所有要用到的库 # encoding =utf -8 import pymysql

Android EXCEL 解析 xls 和 xlsx,方法其实很简单

此生再无相见时 提交于 2020-05-06 16:59:48
前言 Excel 解析,一般来说是在服务端进行的,但是如果移动端要实现解析Excel的功能,那也是有实现的方法的。 不过由于Android 原生用Java/Kotlin实现,所以也可以参考服务端解析Excel的方法。 首先说, jxl ,过去比较流行的解析office文档的框架,但目前官方的版本,在移动端上是不能解析xlsx。 然后是 POI ,是如今比较主流的处理office文档的框架,可以导入也可以生成,缺点是:官方的依赖包的体积较大,官方最新版本在android项目所需sdk需要minSDK 24及以上。 最后找到的一个比较轻便简单的方案是,通过一个国外的开发者对 POI 包进行简化后的库 android5xlsx ,保留了在Android5以上解析xls和xlsx的功能(开发者本人吐槽在android5以下解析Excel真有点绕) android5xlsx 的github地址 下面是我的项目中简单使用这个库的一些步骤( 非源码分析讲解,请谅解 ):(Android 10 环境实测有效) 使用步骤 一、解除 65 K 方法的限制 : android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { ..... versionName "1.0" multiDexEnabled true /

Qt使用和常用代码

僤鯓⒐⒋嵵緔 提交于 2020-05-05 15:40:23
Qt使用和常用代码 https://blog.csdn.net/u014678728/article/details/101155667 Qt基础和库 QObject //删除 obj->deleteLater()或 delete obj deleteLater会等这次事件循环结束再释放内存 必须在运行事件循环的线程中调用 //类型转化 QObject *obj = new QTimer; // QTimer inherits QObject QTimer *timer = qobject_cast<QTimer *>(obj); // timer == (QObject *)obj QAbstractButton *button = qobject_cast<QAbstractButton *>(obj); // button == 0 要转化的类必须继承QObject和声明Q_OBJECT宏 //查找子类 QList<QWidget *> widgets = parentWidget.findChildren<QWidget *>("widgetname"); QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>(); QList<QPushButton *>

使用python合并excel

て烟熏妆下的殇ゞ 提交于 2020-05-05 01:48:41
当工作碰到需要将几个excel合并时,比如一个表,收集每个人的个人信息,陆续收回来就是十几张甚至几十张表,少了还好解决,但是很多的话就不能一个一个去复制了,这时候就想到了python,Python大法好啊。短短100行代码解决,无论几十张,几百张表,瞬间搞定。 首先需要安装两个模块:xlrd(读取excel),xlsxwriter(写入excel) pip install xlrd pip install xlsxwriter 安装好以后,直接上代码。如下: 1 # -*- coding: UTF-8 -*- 2 # Filename : Merge_excel.py 3 # author by : Awrrays 4 5 import xlrd,xlsxwriter 6 7 # 打开表格 8 def openxls(file): 9 try : 10 fx = xlrd.open_workbook(file) 11 return fx 12 except Exception as e: 13 print ( ' 读取文件错误,错误为:{0} ' .format(e)) 14 15 # 获取所有sheet 16 def getsheets(fx): 17 return fx.sheets() 18 19 # 获取某个sheet的行数 20 def getrows(fx,sheet

机器学习笔记(二)线性回归模型实现

怎甘沉沦 提交于 2020-05-03 22:04:45
一、向量化 对于大量的求和运算,向量化思想往往能提高计算效率(利用线性代数运算库),无论我们在使用MATLAB、Java等任何高级语言来编写代码。 运算思想及代码对比 的同步更新过程向量化 向量化后的式子表示成为: 其中 是一个向量, 是一个实数, 是一个向量,所以在这里是做一个向量的减法。在将计算向量化的同时,这种运算方式使我们很好地实现了 的同步更新,我自行推导了一下,体会运算过程中的同步更新是如何实现。 二、 简单一元线性回归实现 数据:是房子的大小(平方英尺)和房价(美元)之间的对应关系。 练习:Matlab实现 %简单一元线性回归练习 theta_0 = 0; theta_1 = 0; alpha = 0.000001; x = [150; 200; 250; 300; 350; 400; 600]; y = [6450; 7450; 8450; 9450; 11450; 15450; 18450]; %画出点 plot(x, y, 'r*', 'MarkerSize', 8); % 5控制*的大小 hold on; counter = 50; [theta_0, theta_1] = gradientDescent_LOW(x, y, theta_0, theta_1, alpha, counter); b = theta_0 + theta_1 * x;

一次、二次、三次指数平滑计算思想及代码

别来无恙 提交于 2020-05-03 14:40:05
一般常用到的指数平滑法为一次指数平滑、二次指数平滑和三次指数平滑,高次指数平滑一般比较难见到,因此本文着重介绍了一次、二次和三次指数平滑的特点与不同。 一次指数平滑一般应用于直线型数据,且一次指数平滑具有滞后性,可以说明有明显的时间性、季节性。 二次指数平滑一般也应用于直线型,但是效果会比一次指数平滑好很多,也就相当于加强版的一次指数平滑。 三次指数平滑可以应用于抛物线型的数据,因为数据在二次平滑过后还是具有斜率,那么可以继续使用三次指数平滑。 初值:不管什么指数平滑都会有个初值,假如数据大于20项,那么初值就可以认定为第一个数据,或者利用下列公式计算也行;假如数据小于20项,则初始值为: 低于20项 一般取3,大于20的看着取就行了。 一次指数平滑: 一次指数平滑需要滞后一期,给定平滑系数 ,那么一次指数平滑的计算公式为: 预测第 期的数值则是上一期的实际值与预测值的加权平均,预测公式为: 二次指数平滑: 给定平滑系数 ,那么二次指数平滑的计算公式为: 预测未来 期的值 的计算公式为: 其中: 三次指数平滑: 给定平滑系数 ,那么三次指数平滑的计算公式为: 预测未来 期的值 的计算公式为: 其中: 下面举例说明,数据如下: 253993 275396.2 315229.5 356949.6 400158.2 442431.7 495102.9 570164.8 640993.1

R语言 线性回归分析实例 《回归分析与线性统计模型》page72

…衆ロ難τιáo~ 提交于 2020-05-02 17:16:10
y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型 : ① 自己编写函数: > library(openxlsx) > data = read.xlsx("22_data.xlsx",sheet = 1) > x = data[,-c(1,2)] > x = cbind(rep(1,17),x) > x_mat = as.matrix(x) > y =matrix(data[,2],ncol = 1) > res = solve(t(x_mat)%*%x_mat)%*%t(x_mat)%*%y > res [,1] rep(1, 17) 19412.8597818 X1 0.2679605 X2 -0.2874013 X3 -297.3653736 所以各参数的估计值分别为 ② lm函数 > lm(y~x_mat) Call: lm(formula = y ~ x_mat) Coefficients: (Intercept) x_matrep(1, 17) x_matX1 19412.859781545 NA 0.267960511 x_matX2 x_matX3 -0.287401287 -297.365373557 于是各参数的估计值分别为 这两个方法的结果是一样的。 (2

Hutool

元气小坏坏 提交于 2020-05-02 14:02:23
Hutool简介 Hutool是一款小而全的开源开发工具类库,在github上拥有将近一万九的star,基本上你能想到的开发当中常需要用到的小轮子,基本上都有具备。学习一下hutool工具包可以避免我们在平常开发中重复造轮子。这款hutool开源库,更新频率快,jar包小仅1.5Mb。对比其他同款类型的基础工具类库来说,是一大优势。因为其他同款类型的基础工具类库多多少少都有基于apache commons做了一些封装。 对于很多小型公司来说,公司内部并没有完善的基础工具类库,使用hutool可以节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务同时可以最大限度的避免封装不完善带来的bug。 Hutool主要组件 模块 介绍 hutool-aop JDK动态代理封装,提供非IOC下的切面支持 hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤 hutool-cache 简单缓存实现 hutool-core 核心,包括Bean操作、日期、各种Util等 hutool-cron 定时任务模块,提供类Crontab表达式的定时任务 hutool-crypto 加密解密模块,提供对称、非对称和摘要算法封装 hutool-db JDBC封装后的数据操作,基于ActiveRecord思想 hutool-dfa 基于DFA模型的多关键字查找