easyexcel安全扫描报php,easyExcel使用以及踩过的坑

easyExcel介绍:

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便

需求分析:

需要实现一个订单导入的功能,用户通过excel将订单导入到我们系统中,(在实际系统中,一个订单可能对应多个运单),此次订单导入不考虑,一个订单只能对应1个运单

实现过程:

步骤1.引入依赖

com.alibaba

easyexcel

1.1.2-beta5

步骤2.添加实体类,如下图

0bbd5aad7bb42ecfa579e2ad8da92ebd.png

该实体类用于接收excel表中的数据,value值对应excel中的表头,index表示excel中列的索引,索引从0开始

必须要继承BaseRowModel类,否则接收不到数据

28b63400b52c3faac58bc753331dc30c.png

需要注意的两个问题:

1.该实体类不支持嵌套实体类,比如 订单中包含运单实体类,只能用一个实体类接收

2.如果是date类型的字段,excel中对应的列,单元格格式要设置为常规,这样javaModel中才能接收到

项目中的导入导出使用了以下工具类ExcelUtil,ExcelListener,ExcelWriterFactroy,ExcelException,大家直接搜索easyExcel工具类都可以搜到,

下面简单介绍一下 excelUtil工具类中用到的该方法

8b8552e23738c786a927b4ff6f962ea0.png

因为需求不是太复杂,读取某个sheet就可以了,插入数据的方式有两种:

1.根据readexcel方法返回的list集合来插入数据

2.调用readExcel方法时,每次读取数据都会调用excelListener中的invoke方法,可以在这里做数据插入或者数据校验等其他操作

e84db38799e72e64a1e8f4ce3c19363f.png

如果数据有误的话,我会把错误信息返回到实体类的failMsg字段中,将该实体类写回去,再将该文件上传到文件服务器,将文件url返回,供用户下载失败的文件

linux服务器环境会遇到一个问题:

java.lang.NullPointerException: null

at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) ~[?:1.8.0_151],

后来在github上找到了解决方案,地址如下

https://github.com/alibaba/easyexcel/issues/157,

需要安装一个字体,安装完就可以了

使用感受:easyexcel封装了很多,感觉导入导出简单的场景非常的好用,不需要关注excel的样式,会有默认样式,其他复杂的场景暂时没遇到过,有兴趣的可以一起讨论下

觉得有用的小伙伴可以帮忙点个赞!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python做人脸识别的程序怎么做,10分钟学会使用python实现人脸识别(附源码)

前言今天,我们用Python实现简单的人脸识别技术!Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的。这里介绍的是准确性比较高的一种。一、首先梳理…

matlab是那个国家,这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的时候反光比较少...

这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的时候反光比较少2016-08-22 0 0 0 暂无评分其他1积分下载如何获取积分?这是一个老外写的利用曲率来识别硬币的MATLAB程序。作者所在国家的硬币偏黄色,拍摄的…

oracle中12523,【Oracle】静态监听导致的ORA-12523错误

今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排查错误之后发现是静态监听惹的祸。本机之上有两个监听,一个静态监今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排查错误之后发现是静态监听惹的祸。本机之上有两个…

线性回归中oracle性质,66.Oracle数据库SQL开发之 高级查询——使用线性回归函数...

66.Oracle数据库SQL开发之 高级查询——使用线性回归函数线性回归函数可以用普通最小平方回归曲线拟合一组数值对。线性回归函数可用于聚合、串口或报表函数。如下图1:例如:storePDB1> selectprd_type_id,regr_avgx(amount,month) as avgx,regr_avgy(…

linux 源码目录结构,分析Android 源代码编译前后的目录结构

我们看没有编译前的项目目录大致的情况如下 :在树结构中我们可以了解的有如下一些信息分析:1. getSplashy 项目名称;2. src 项目程式;3. com 早…

linux vps 运行exe文件夹,在centos环境下运行.exe文件

首先要了解一下Wine:Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。Wine (Wine Is Not an Emulator)[即Wine不是一个模拟器]是一个在Linux和U…

linux服务器u盘启动项检测不到,将U盘设置为第一启动项之后却检测不到U盘怎么办?...

对于如何使用U盘装系统,想必看过小编之前介绍的朋友应该大致都清楚了吧?虽然说咱们使用U盘装系统的操作步骤还是比较简单的,但是却必须要满足一个条件,那便是将咱们的U盘设置为第一启动项,那么如何进行设置呢?这便需要在咱们win…

linux内核io源码,Linux Kernel do_io_submit()函数整数溢出漏洞

发布日期:2010-09-21更新日期:2010-09-27受影响系统:Linux kernel 2.6.x不受影响系统:Linux kernel 2.6.36-rc4描述:--------------------------------------------------------------------------------BUGTRAQ ID: …

linux6无法启动iscsi服务,RHEL6下安装配置ISCSI服务器

1.安装所需软件:yum –y install scsi-target-utils iscsi-initiator-utils功能说明:scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能;iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。2.target的设定:----…

linux socat rpm,RabbitMQ系列(三)RabbitMQ Server的安装(基于Linux RPM)

提示:在Fedora和RHEL仓库中包含了RabbitMQ,但这些版本往往是滞后的且不再被支持,我们建议你使用PackageCloud或者Bintray的Yum仓库进行安装;RabbitMQ RPM包将需要sudo特权来安装和管理。在没有sudo的环境中,可以考虑使…

每天一个linux命令博客nano,11 个鲜为人知的 Linux 命令(1)

英文:Tecmint,编译:Linux中国linux.cn/article-2258-1.html如有好文章Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务。Linux命令和它们的转换对于Linux用户、Shell脚本程序员和管理员来说…

android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()

最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习requestWindowFeature(Window.FEATURE_LEFT_ICON);setContentView(R.layout.dialog_activity);getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, a…

m1笔记本android开发,Apple M1设备开发Android小tips

虽然m1来开发android是挺有优势的,苦于google目前还没有支持m1芯片的android studio版本(包括测试版) 截稿日期2021-5-14,所以我们当下可以选择idea2021,原生支持m1,而且编译速度运行效率更快(同时也会让你失去摸鱼时间)&#xff…

harmonyOS智慧屏,在鸿蒙HarmonyOS智慧屏上实现一款粗糙的计算器

在学习的路上我们不能只是停留在对理论知识的理解,还应该将理论和实战进行结合,这样才有利于我们能够更有深度的掌握知识,最终形成自己的知识体系结构。我们在实战的时候,不仅可以巩固我们的理论知识,还能够在实战中发…

imx6 android快速启动,android启动不起来(已解决)

我使用imx6dl,使用JB4.3.3-1.1.0版本,但在启动的时候最后停在了Freeing init memory: 232K,就没了动静,各位大侠帮忙分析一下吧:以下是log:U-Boot 2009.08 ( 1��月 08 2014 - 15:47:46)CPU: Freescale i.MX…

华为公布4月升级鸿蒙,华为余承东:鸿蒙OS今年4月见,华为Mate X2首批升级

随着搭载鸿蒙OS的终端设备日益增多,鸿蒙系统何时应用于手机成为舆论关注的焦点。特别是在2020年12月华为发布鸿蒙OS 2.0手机开发者Beta版本之后,公众对手机上运行鸿蒙OS的期待值越来越高。余承东在发布会上表示,从今年4月开始,华为…

android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...

酷狗是一款很流行的音乐播放软件,当我们在听歌曲的时候,默认会缓存到文件夹中,方便下次没有网络的时候可以继续听这首歌,有些用户想要知道酷狗缓存的歌曲在哪个文件夹,我们可以从主界面中进入即可找到,接下…

html给文字添加阴影效果,如何设置样式之添加文字阴影、边框阴影或者添加自己的CSS...

以下的例子只是样式面板的使用案例之一,样式面板功能很强大,几乎能完成您的所有需求,详情参阅这里。边框的案例可以参阅这里。一、如何给文字添加阴影效果首先, 打开CSS工作面板请依次点击:右侧栏“样式面板”按钮(见第…

湖北大学计算机科学与技术怎么样,湖北大学(专业学位)计算机技术考研难吗

考研真题资料优惠价原价选择很多考生在准备湖北大学(专业学位)计算机技术考研难吗?是考研报考的时候都会产生这样的疑问:这个专业的研究生好吗?适合我吗?对我以后的人生和职业会有帮助吗?考生在准备湖北大学(专业学位)…

计算机打开共享网络连接打印机共享打印机,网络共享打印机连接不上怎么办_电脑连不上共享打印机如何解决-win7之家...

通常为了方便多人可以一起共用一台打印机,都会在局域网络中将打印机共享,可是近日有不少用户却遇到网络共享打印机连接不上的情况,这该怎么办呢,确认打印机已经共享,并且电脑在同一个家庭组里,针对脑连不上…