Springboot后端导入导出excel表
一、依赖添加
操作手册:Hutool — 🍬A set of tools that keep Java sweet.
<!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version></dependency><!--Apache POI,用于读写excel文档--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>
二、实现接口
excel导入
/*** 上传excel* @param file 请求头设置为form-data,参数名需一致(例如:file)* @throws Exception*/@PostMapping("/import")public void importExcel(MultipartFile file) throws Exception {// 获取数据流InputStream inputStream = file.getInputStream();ExcelReader reader = ExcelUtil.getReader(inputStream);// 读取数据List<Login> list = reader.readAll(Login.class);System.out.println(list);}
excel导出
/*** 导出excel* @param response* @throws Exception*/@GetMapping("/export")public void exportExcel(HttpServletResponse response) throws Exception {List<Login> list = loginService.list();// 从内存操作,直接写出到浏览器ExcelWriter writer = ExcelUtil.getWriter(true);// 自定义列名writer.addHeaderAlias("id", "账号");writer.addHeaderAlias("name", "用户名");writer.addHeaderAlias("job", "职业");writer.addHeaderAlias("address", "地址");// 写出到excel对象writer.write(list, true);// 设置浏览器响应的格式response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");String fileName = URLEncoder.encode("用户信息表", "UTF-8");response.setHeader( "Content-Disposition", "attachment;filename=" + fileName + ".xlsx");// 执行导出,并释放ServletOutputStream out = response.getOutputStream();writer.flush(out, true);out.close();writer.close();}
相关文章:
Springboot后端导入导出excel表
一、依赖添加 操作手册:Hutool — 🍬A set of tools that keep Java sweet. <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</versio…...
通过stream流实现分页、模糊搜索、按列过滤功能
通过stream实现分页、模糊搜索、按列过滤功能 背景逻辑展示示例代码 背景 在有一些数据通过数据库查询出来后,需要经过一定的逻辑处理才进行前端展示,这时候需要在程序中进行相应的分页、模糊搜索、按列过滤了。这些功能通过普通的逻辑处理可能较为繁琐…...
webpack:系统的了解webpack一些核心概念
文章目录 webpack 如何处理应用程序?何为webpack模块chunk?入口(entry)输出(output)loader开发loader 插件(plugin)简介流程插件开发:Tapable类监听(watching)compiler 钩子compilation 钩子compiler和compilation创建自定义 插件 loader和pl…...
Unreal Engine Loop 流程
引擎LOOP 虚幻引擎的启动是怎么一个过程。 之前在分析热更新和加载流程过程中,做了一个图。记录一下!! 数据同步
文章目录 一、Linux环境要求二、准备工作2.1 Linux安装jdk2.2 linux安装python2.3 下载DataX: 三、DataX压缩包导入,解压缩四、编写同步Job五、执行Job六、定时更新6.1 创建定时任务6.2 提交定时任务6.3 查看定时任务 七、增量更新思路 一、Linux环境要求…...
第二章 进程与线程 十、调度算法1(先来先服务、短作业优先、最高响应比优先)
目录 一、先来先服务算法 1、算法思想 2、算法规则 3、用于作业/进程调度 4、是否可抢占? 5、优缺点 优点: 缺点: 6、是否会导致饥饿 7、例子 二、短作业优先算法 1、算法思想 2、算法规则 3、用于作业/进程调度 4、是否可抢占? 5、优缺…...
windows平台 git bash使用
打开所在需要git管理的目录,鼠标右键open Git BASH here 这样就直接进来,不需要windows dos窗口下麻烦的切路径,windows和linux 路径方向不一致 (\ /) 然后git init 建立本地仓库,接下来就是git相关的操作了. 图形化界面查看 打开所在需要git管理的目录,鼠标右键…...
Linux系统之安装uptime-kuma服务器监控面板
Linux系统之安装uptime-kuma服务器监控面板 一、uptime-kuma介绍1.1 uptime-kuma简介1.2 uptime-kuma特点 二、本次实践环境介绍2.1 环境规划2.2 本次实践介绍2.3 环境要求 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统是否安装Node.js 四、部署…...
计算机组成原理——基础入门总结(一)
本帖更新一些关于计算机组成原理的重点内容。由于博主考研时并不会考这门课,但是考虑到操作系统中又很多重要晦涩的概念涉及很多诸如内存、存储器、磁盘、cpu乃至各种寄存器的知识,此处挑选一些核心的内容总结复盘一遍——实现声明:本帖的内容…...
批量获取CSDN文章对文章质量分进行检测,有助于优化文章质量
📚目录 ⚙️简介✨分析获取步骤⛳获取文章列表☘️前期准备✨ 接口解析⚡️ 获取文章的接口 ☄️文章质量分接口⭐接口分析 ⌛代码实现:⚓核心代码:⛵测试用例:⛴ 运行效果:☘️增加Excel导出 ✍️结束 ⚙️简介 有时候我们写文章是为了记录当下遇到的bu…...
从一到无穷大 #17 Db2 Event Store,A Purpose-Built IoT Database Engine
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言Architectural overviewData format and meta-dataEnsuring fast ingestionMulti…...
9月16日,每日信息差
今天是2023年09月16日,以下是为您准备的15条信息差 第一、天猫超市首单“茅小凌”已由菜鸟送达,首单已由菜鸟供应链完成履约,18分钟送达消费者手中 第二、软银考虑对OpenAI进行投资。此外,软银还初步拟收购英国人工智能芯片制造…...
准备篇(二)Python 教程
Part 1 Python 基础语法区分输入与输出注释文本列表if 语句for 语句range() 函数走向编程的第一个例子Part 2 函数 和 数据结构函数数据结构del 语句列表详解元组集合字典循环的技巧Part 3 输入与输出读写文件打开文件 open()读文件写文件...
HTML+CSS画一个卡通中秋月饼
HTMLCSS画一个卡通中秋月饼🥮🥮🥮 中秋活动水个文章 整个divcss实现个月饼,给前端初学者一个练手的demo 效果图 思路 HTMl 先来个轮廓画脸上的东西:眼睛、眉毛、腮红、嘴巴眼睛丰富下瞳孔画20个花瓣 CSS 轮廓是要外…...
echarts的折线图,在点击图例后,提示出现变化,不报错。tooltip的formatter怎么写
在点击图例的年后,提示框会相应的变化,多选和单选都会响应变化。tooptip的重度在formatter tooltip:{show:true,trigger:"axis",alwaysShowContent:true,triggerOn:"mousemove",textStyle:{color:"#fff"},backgroundColor…...
C++中的auto是一个关键字,用于在编译时自动推导变量的类型
C中的auto是一个关键字,用于在编译时自动推导变量的类型。通过使用auto关键字,编译器可以根据变量的初始化表达式来确定其类型,从而省略了显式地指定类型的步骤。 使用auto关键字声明的变量必须在定义时进行初始化,以便编译器可以…...
VUE build:gulp打包:测试、正式环境
目录 项目结构 Gulp VUE使用Gulp Vue安装Gulp Vue定义Gulp.js package.json build文件夹 config文件夹 static-config文件夹 项目结构 Gulp Gulp是一个自动化构建工具,可以帮助前端开发者通过自动化任务来管理工作流程。Gulp使用Node.js的代码编写ÿ…...
1.使用turtle换一个五环2.设计这样一个程序:输入一个数字 判断它是不是一个质数
1.使用turtle换一个五环 import turtle turtle.pensize(15) turtle.penup() turtle.color(blue) turtle.goto(-150,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtle.color(black) turtle.goto(0,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtl…...
从西方芯片巨头溃败看中国半导体崛起:市场、服务与生态的变革
1. 一场早已注定的终局:西方芯片巨头在移动市场的溃败十年前,如果你问任何一位半导体行业的从业者,谁会主导未来的手机芯片市场,答案里大概率会包括意法半导体(ST)、瑞萨(Renesas)这…...
gRPC流量分析实战:用cursor-tap工具实现AI对话可视化与游戏集成
1. 项目概述:从零到一,打造一个能“监听”AI对话的独立游戏 最近在折腾一个挺有意思的玩意儿,叫 cursor-tap 。这名字听起来有点神秘,对吧?简单来说,它是一个用来分析 gRPC 通信流量的工具。但如果你以为…...
晨芯阳HC9611高PSRR、防Inrush电流、低压差LDO转换器
HC9611系列是高PSRR,防Inrush电流,低噪声,低压差线性稳压器。HC9611系列稳压器内置固定电压基准,温度保护,限流电路以及快速响应电路,达到低功耗,低噪声,高纹波抑制,快速…...
PowerBI主题模板终极指南:35款可视化模板快速美化报表
PowerBI主题模板终极指南:35款可视化模板快速美化报表 【免费下载链接】PowerBI-ThemeTemplates Snippets for assembling Power BI Themes 项目地址: https://gitcode.com/gh_mirrors/po/PowerBI-ThemeTemplates 还在为PowerBI报表的单调外观而烦恼吗&#…...
告别MATLAB命令行里的‘天书’:手把手教你用symdisp优雅展示LaTeX公式
MATLAB符号计算可视化革命:用symdisp实现LaTeX级公式渲染 在科研和工程计算领域,MATLAB的符号计算工具箱一直是数学推导的利器,但长期以来,命令行输出的公式展示方式让许多研究者头疼——密密麻麻的文本表达式不仅难以直观理解&am…...
Acode架构深度解析:移动端代码编辑器的技术突破与设计哲学
Acode架构深度解析:移动端代码编辑器的技术突破与设计哲学 【免费下载链接】Acode Acode - powerful text/code editor for android 项目地址: https://gitcode.com/gh_mirrors/ac/Acode 在移动设备成为主流开发工具的今天,开发者面临着一个核心痛…...
HFSS新手避坑指南:手把手教你设置Floquet Port和主从边界(附矩形波导实例)
HFSS阵列仿真实战:从Floquet Port到主从边界的精准设置 第一次打开HFSS准备仿真周期性结构时,那种既兴奋又忐忑的心情我至今记忆犹新。作为计算电磁学领域的黄金标准工具,HFSS在阵列天线、频率选择表面等周期性结构分析中展现出无可替代的价…...
ESP32内存不够用?手把手教你修改Arduino IDE分区表,榨干16MB Flash
ESP32内存优化实战:深度定制Arduino IDE分区表释放16MB Flash潜力 当你兴致勃勃地为ESP32开发板换上16MB大容量Flash芯片,却发现Arduino IDE仍然报出"内存不足"的错误时,那种挫败感我深有体会。去年我在开发一个智能家居网关项目时…...
vLLM Semantic Router:基于信号驱动的LLM智能路由架构与生产实践
1. 项目概述:为什么我们需要一个“智能”的LLM路由器?在当前的LLM应用开发中,我们正面临一个甜蜜的烦恼:模型太多了。从闭源的GPT-4、Claude,到开源的Llama、Qwen、DeepSeek,再到各种针对特定任务微调的小模…...
基于ChatGPT与Next.js的React组件自然语言生成器开发实战
1. 项目概述:一个由ChatGPT驱动的React组件实时生成器 作为一名在React生态里摸爬滚打了多年的前端开发者,我深知从零开始构建一个UI组件,尤其是那些需要反复调整样式和交互逻辑的组件,是多么耗时耗力。我们常常在Figma里画好了设…...
