苍穹外卖项目解读(五 完结) POI Easyexcel excel操作

news2025/2/9 7:15:01

前言

HM新出springboot入门项目《苍穹外卖》,笔者打算写一个系列学习笔记,“苍穹外卖项目解读”,内容主要从HM课程,自己实践,以及踩坑填坑出发,以技术,经验为主,记录学习,也希望能给在学想学的小伙伴一个参考。

注:本文章是直接拿到项目的最终代码,然后从代码出发,快速逆向学习技术经验! 可能需要一些前置知识

觉得文章有用可以关注点赞收藏期待更新^^,期待您的评论留言

苍穹外卖项目解读(一) 完整代码本地部署运行
苍穹外卖项目解读(二) 管理端JWT令牌、AOP注解开发、分页
苍穹外卖项目解读(三) redis、cache缓存解读
苍穹外卖项目解读(四) 微信小程序支付、定时任务、WebSocket
苍穹外卖项目解读(五 完结) POI Easyexcel excel操作

本篇是此项目解读的完结篇,其实前面四篇文章基本把比较重要、常用详细解读了,有什么错误或者改进的地方还希望大佬们指点一二。项目尾巴介绍了excel操作,就简单介绍一下吧
在这里插入图片描述

POI

项目里的POI使用,太复杂繁琐,重复性代码比较多,我也没有很深入的了解,所以不做过多解读,课程代码中的说明还是比较详细的

EasyExcel

EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。
他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。

官方文档主页

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

这里附上我简单实现的一个EasyExcel的Demo,包括了excel文档读取、写入。excel文档的上传、下载。
GitHub链接:EasyExcelDemo
建议大家可以按照官方文档学习

前端报表

报表功能在一些特定需要的项目中,使用前端控制,可以更自由的设计样式、绑定数据

现在任何项目报表都是一个不可或缺的模块,传统实现报表的方法:代码实现(代码开发量大、复杂报表难实现、后期维护成本高)、开源报表工具(产品质量不可控、没有技术指导、不可预知问题多,项目进度不可控)。

现在就有这么一款前端报表控件ActiveReportsJS,可以直接集成Vue,并且还能把报表设计器也直接集成到Vue中。

ActiveReportsJS纯前端报表控件,轻量,能够集成 Vue、Angular、React、NodeJS等主流框架。并且还提供桌面端、Web端报表设计器,所有的报表设计操作几乎都可以通过拖拉拽设计完成。

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

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

相关文章

Java课题笔记~ JSP内置对象

(1)九个内置对象 jsp的内置对象:JSP内置对象是不需要声明和创建就可以在JSP页面脚本中使用的成员变量。 九个内置对象: 1.out对象 在JSP页面中,经常需要向客户端发送文本内容,这时,可以使用out对象来实现。out对象…

引入三阶失真的非线性放大器的模拟输出及使用中值滤波器去除峰值研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【Spring】-Spring中Bean对象的存取

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:往spring中存储Bean对象的三大方式:XML方式(Bean标签);五大类注解;方法注解。从spring中取对象的两种方式…

穿越未来:探索虚拟现实科技的未来前景

虚拟现实(Virtual Reality,简称VR)科技,正如一颗崭新的明星,迅猛崛起,为人类带来前所未有的体验和想象空间。随着科技的飞速发展,VR 科技的未来充满了无限的可能性,正将我们引向一个…

【LNMP(分布式)】

目录 一、LNMP是什么 二、实际步骤 1.启用虚拟机 1.1 启动三台虚拟机分别命名为nginx,mysql,php 1.2 分别配置基础环境 1.3 测试外网连通性 2.更新源 3.安装nginx并配置 3.1 下载nginx源码包并安装 3.2 配置nginx 4.安装mysql并配置 4.1 安装…

在.NET 6.0中自定义接口路由

在本文中,我们将讨论ASP.NET Core中的新路由。我们将了解什么是接口(endpoints)路由,它是如何工作的,它在哪里使用,以及如何创建自己的路由。 本文主题: 探索接口路由创建自定义接口创建更复杂的接口 名词定义&#…

029 - integer types 整数类型

MySQL支持SQL标准整数类型 INTEGER(或INT)和 SMALLINT。作为一个可扩展标准,MySQL也支持整数类型 TINYINT,MEDIUMINT和 BIGINT。下表显示了每种整数类型所需的存储空间和范围。 表11.1 MySQL支持的整数类型的必需存储和范围 类型…

日常问题——idea工具中SpringBoot使用@AutoWriter 爆红

😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 使用AutoWrited注解注入Bean时,变量下面有红线,但是不影响运行。 二…

【idea】点击idea启动没反应

RT 点击idea启动的时候没反应,接着百度报错,基本跟他们的也不一样。 首先我是做版本升级。其次,我之前是破解的。如果你也是跟我一样的话,那问题可能就处在破解上了 解决方式 首先,是跟大部分解决思路一样。先找到项…

【趋势检测和隔离】使用小波进行趋势检测和隔离研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

基于Java+SpringMVC+Mybaties+layui+Vue+elememt基于协同过滤的电影推荐系统的设计与实现

一.项目介绍 基于协调过滤的电影推荐系统的设计与实现 本系统分为普通用户以及管理员两类 普通用户: 登录系统查看最新推荐电影、收藏、评论、查看电影信息、 对电影进行评分、浏览电影资讯信息、查看个人信息以及浏览收藏…

【Python数据容器】--- 元组的基本使用

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Python小白从入门到精通】🎈 本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌 元组…

系统学习Linux-Redis集群

目录 一、Redis主从复制 概念 作用 缺点 流程 二、Reids哨兵模式(sentinel) 概念 作用 缺点 结构 搭建 三、redis集群 概述 原理 架构细节 选举过程 实验环境模拟 一、Redis主从复制 概念 是指将一台Redis服务器的数据,复制…

linux查看进程绑定cpu核是否成功

运行top命令,可以看到进程以及进程cpu占有率 然后查看是否有P属性,这个属性用来查看进程绑定的cpu核 这里没有看到cpu占用核心 运行top后,按 " f "键进入top配置界面,然后按上下键选择P选项,此时可以看到P选…

(二)结构型模式:2、桥接模式(Bridge Pattern)(C++实现示例)

目录 1、桥接模式(Bridge Pattern)含义 2、桥接模式应用场景 3、桥接模式的UML图学习 4、C实现桥接模式的示例 1、桥接模式(Bridge Pattern)含义 桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离&#…

不基于比较的排序:基数排序

本篇只是讨论桶排序的具体实现,想了解更多算法内容可以在我的博客里搜,建议大家看看这篇排序算法总结:排序算法总结_鱼跃鹰飞的博客-CSDN博客 桶排序的原理: 代码:sort1是一个比较二逼的实现方式浪费空间,s…

开源数据库Mysql_DBA运维实战 (DML/DQL语句)

DML/DQL DML INSERT 实现数据的 插入 实例: DELETE 实现数据的 删除 实例: UPDATE 实现数据的 更新 实例1: 实例2: 实例3: DQL DML/DQL DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELE…

IT运维:使用数据分析平台监控PowerStore存储(进阶)

概述 本文基于《IT运维:使用鸿鹄监控PowerStore存储》(以下简称原文)文章进行了优化。主要优化部分包括存储日志进入到鸿鹄后,如何进行字段抽取,以及图表的展示。 字段抽取:由原来采用视图的方式&#xff0…

Rider无法识别Todo Comment

最近因为vs code很难识别到代码中的usage和definition,改用Rider了。 但是一开始就哪里有点不对, 比如我主题的颜色总是有些地方无法识别出来。比如我每次从Unity中点击脚本文件,都只能识别到某一个特定的文件夹,而不能打开整个…

机器人技术及其影响

目录 1.概念 2.发展 3.应用领域 4.对人类的益处 1.概念 机器人是指能够自主执行任务的机械设备或电子设备。它们通常具有一定的感知、决策和执行能力,能够接收和处理来自外部环境的信息,并做出相应的行动。 机器人的形态和功能各异,可以是…