当前位置: 首页 > news >正文

hutool 导出复杂表头excel

假如已这样的表头导出数据

 1.把包含表头的excel添加到项目资源目录

 2.编写代码读取表头所在sheet,并且加入需导出的数据

/*** 导出excel*/public static void downloadExcel(List<List<Object>> list, HttpServletResponse response) throws IOException {/*String tempPath =System.getProperty("java.io.tmpdir") + IdUtil.fastSimpleUUID() + ".xlsx";File file = new File(tempPath);*///获取模板文件第一个sheetClassPathResource resource = new ClassPathResource("cadreAndCompany.xls");ExcelReader reader = ExcelUtil.getReader(resource.getStream());Sheet rows = reader.getSheets().get(0);BigExcelWriter bigExcelWriter = new BigExcelWriter(rows);bigExcelWriter.passRows(3);//跳过表头// 一次性写出内容,使用默认样式,强制输出标题bigExcelWriter.write(list);//response为HttpServletResponse对象response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码response.setHeader("Content-Disposition","attachment;filename=file.xlsx");ServletOutputStream out=response.getOutputStream();// 终止后删除临时文件//file.deleteOnExit();bigExcelWriter.flush(out, true);//此处记得关闭输出Servlet流IoUtil.close(out);}

相关文章:

hutool 导出复杂表头excel

假如已这样的表头导出数据 1.把包含表头的excel添加到项目资源目录 2.编写代码读取表头所在sheet,并且加入需导出的数据 /*** 导出excel*/public static void downloadExcel(List<List<Object>> list, HttpServletResponse response) throws IOException {/*Strin…...

git和github学习

一、什么是git和github? 二、学会使用github desktop应用程序 初始使用&#xff1a; 一开始我们是新账户&#xff0c;里面是没有仓库的&#xff0c;需要手动创建一个仓库。此时&#xff0c;这个仓库是创建在本地仓库里面&#xff0c;需要用到push命令&#xff08;就是那个pub…...

竞赛项目 车位识别车道线检测 - python opencv

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) …...

中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

可以说&#xff0c;AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。 7 月 19 日&#xff0c;Meta 终于发布了免费可商用版本 Llama 2&#xff0c;让开源大模型领域的格局发生了巨大变化。 Llama 2 模型系列包含 70 亿、…...

JavaScript、TypeScript、ES5、ES6之间的联系和区别

ECMAScript&#xff1a; 一个由 ECMA International 进行标准化&#xff0c;TC39 委员会进行监督的语言。通常用于指代标准本身。JavaScript&#xff1a; ECMAScript 标准的各种实现的最常用称呼。这个术语并不局限于某个特定版本的 ECMAScript 规范&#xff0c;并且可能被用于…...

RCNA——单臂路由

一&#xff0c;实验背景 之前的VLAN实现的很多都是相同部门互相访问&#xff0c;不同部门无法访问。不过这次整来了一个路由器&#xff0c;领导说大部分的部门虽说有保密信息需要互相隔离&#xff0c;但是这些部门和其它部门也应该互相连通以方便工作交流。因此要配置新的环境&…...

leetcode做题笔记69

给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 思路一&#xff…...

CentOS根分区扩容实战(非LVM)!

在虚拟化平台&#xff08;如KVM,ESXI&#xff09;中&#xff0c;将虚拟机的磁盘大小扩展到所需的大小。这将增加虚拟机的磁盘空间。 在虚拟机中&#xff0c;使用以下命令查看可用的磁盘和分区信息&#xff1a; sudo fdisk -l确定要扩展的根分区的设备名称&#xff08;如 /dev/…...

uniapp 微信小程序 分包

1、manifest.json内添加如图所示&#xff1a; "optimization" : {"subPackages" : true },2、在与pages同级上创建各个分包的文件夹 把需要分包的文件对应移入分包文件夹内 3、page.json内修改分包文件的路径 比如&#xff1a; {"path" : &qu…...

Redis_安装、启动以及基本命令

2.Redis安装 2.1前置处理环境 VMware安装安装centOS的linux操作系统xshellxftp 2.2 配置虚拟机网络 按ctrlaltf2 切换到命令行 cd (/)目录 修改/etc/sysconfig/network-scripts/ifcfg-ens3 vi 命令 按insert表示插入 按ctrlesc退出修改状态 :wq 写入并退出 此文件必须保持一…...

IPv4编址及子网划分

IPv4编址及子网划分 一、IPv4地址概述1.1、IPv4报文结构1.2、IPv4地址分类1.2.1、A类1.2.2、B类1.2.3、C类1.2.4、D类1.2.5、E类 1.3、私有IP地址1.4、特殊地址 二、子网划分2.1、子网掩码2.2、VLSM 可变长的子网掩码2.3、子网划分2.4、子网划分示例2.4.1、子网划分案例 —— A…...

HashMap 二十一问

1&#xff1a;HashMap 的数据结构&#xff1f; A&#xff1a;哈希表结构&#xff08;链表散列&#xff1a;数组链表&#xff09;实现&#xff0c;结合数组和链表的优点。当链表长度超过 8 时&#xff0c;链表转换为红黑树。transient Node<K,V>[] table; 2&#xff1a;…...

什么是Selenium?使用Selenium进行自动化测试

什么是 Selenium&#xff1f;   Selenium 是一种开源工具&#xff0c;用于在 Web 浏览器上执行自动化测试&#xff08;使用任何 Web 浏览器进行 Web 应用程序测试&#xff09;。   等等&#xff0c;先别激动&#xff0c;让我再次重申一下&#xff0c;Selenium 仅可以测试We…...

解决“先commit再pull”造成的git冲突

一、问题场景 在分支上修改了代码然后commit&#xff08;没有push&#xff09;&#xff0c;此时再git pull&#xff0c;拉下了别人的修改&#xff0c;但是报错无法merge 二、解决步骤 1.在idea下方工具栏选择git -> log&#xff0c;可以看到版本变化链表&#xff0c;右键…...

JAVA设计模式----原型设计模式

文章目录 一、简介二、实现方式三、原型模式的注意事项浅拷贝与深拷贝浅拷贝深拷贝一、简介 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Protot…...

树·c++

树&#xff08;Tree&#xff09; 是一种非线性的数据结构&#xff0c;它由若干个 节点&#xff08;Node&#xff09; 组成&#xff0c;并通过 边&#xff08;Edge&#xff09; 相互连接。树的结构类似于现实中的树&#xff0c;其中 根节点&#xff08;Root Node&#xff09; 位…...

vuejs 设计与实现 - 双端diff算法

我们介绍了简单 Diff 算法的实现原理。简单 Diff 算法利用虚拟节点的 key 属性&#xff0c;尽可能地复用 DOM元素&#xff0c;并通过移动 DOM的方式来完成更新&#xff0c;从而减少不断地创建和销毁 DOM 元素带来的性能开销。但是&#xff0c;简单 Diff 算法仍然存在很多缺陷&a…...

RISC-V在快速发展的处理器生态系统中找到立足点

原文&#xff1a;RISC-V Finds Its Foothold in a Rapidly Evolving Processor Ecosystem 作者&#xff1a;Agam Shah 转载自&#xff1a;https://thenewstack.io/risc-v-finds-its-foothold-in-a-rapidly-evolving-processor-ecosystem/ 以下是正文 But the open source pr…...

面试题02

这里写目录标题 主存储器和CPU之间增加Cache的目的是?判断一个char变量c1是否为小写字母循环链表顺序存储的线性表,访问结点和增加删除结点的时间复杂度请列举你所知道的c/c++ 语言中引入性能开销或阻碍编译优化的语言特性,并尝试说明对应的解决办法请列举CPU cache对编程开…...

第六章 SpringBoot注解 @ConditionalOnBean

满足条件的则进行组件的注入 Configuration(proxyBeanMethods true) //告诉SpringBoot这是一个配置类 配置文件 ConditionalOnBean(name "tom") public class MyConfig {Bean("tom")public Pet tom(){return new Pet("tomPet");}/*** 外部无论…...

VS Code MCP生态落地全图谱(2024最新LSP+MCP双栈协同架构):微软官方未公开的5个协议兼容要点

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VS Code MCP生态落地全图谱概览 MCP 核心定位与 VS Code 集成机制 MCP&#xff08;Model Control Protocol&#xff09;是面向大模型智能体协同控制的开放协议&#xff0c;其在 VS Code 中通过 Langu…...

机器学习超参数调优实战指南

1. 分类算法超参数调优的核心价值在机器学习项目实践中&#xff0c;我们常常遇到这样的困境&#xff1a;明明选择了理论上最适合的算法&#xff0c;但模型表现始终达不到预期。这时候问题往往出在超参数配置上——那些需要手动设定、无法通过训练自动学习的参数。以随机森林为例…...

Stream-rec直播录制神器:5分钟搭建你的专属录播系统

Stream-rec直播录制神器&#xff1a;5分钟搭建你的专属录播系统 【免费下载链接】stream-rec Automatic streaming record tool. Live stream and bullet comments recorder. 虎牙/抖音/斗鱼/Twitch/PandaTV/微博直播&#xff0c;弹幕自动录制 项目地址: https://gitcode.com…...

告别手动提取!WebPlotDigitizer:5分钟从科研图表提取100个数据点的智能神器

告别手动提取&#xff01;WebPlotDigitizer&#xff1a;5分钟从科研图表提取100个数据点的智能神器 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDig…...

04-进阶方向:自然语言处理(NLP)——spaCy入门

spaCy入门&#xff08;工业级NLP管道、实体识别、依存分析&#xff09; 一、spaCy概述 1.1 为什么选择spaCy&#xff1f; import spacy import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Rectangle, FancyBboxPatch import warnings warnin…...

【Docker沙箱AI隔离实战手册】:20年SRE亲授5大避坑法则与零信任部署框架

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Docker沙箱AI隔离的核心价值与演进脉络 在AI模型快速迭代与多租户协同开发的背景下&#xff0c;Docker沙箱已成为保障模型推理安全、资源可控与环境可复现的关键基础设施。其核心价值不仅在于进程级隔离…...

机器人协议设计:从基础原理到工业实践

1. 机器人协议设计概述在自动化系统开发领域&#xff0c;机器人协议&#xff08;Bot Protocol&#xff09;是连接控制端与被控端的核心通信规范。就像人类交流需要共同语言一样&#xff0c;机器之间的高效协作也需要明确的协议标准。一个设计良好的机器人协议能够确保指令准确传…...

Rust的match守卫(guard)与@绑定模式

Rust作为一门现代系统编程语言&#xff0c;其模式匹配功能强大且灵活&#xff0c;其中match守卫&#xff08;guard&#xff09;与绑定模式是两项极具特色的特性。它们不仅能让代码更简洁&#xff0c;还能提升逻辑表达的清晰度。对于熟悉基础模式匹配的开发者来说&#xff0c;掌…...

量子纠错与实时解码:CUDA-Q QEC技术解析

1. 量子纠错与实时解码的核心价值在量子计算领域&#xff0c;量子比特的脆弱性一直是实现实用化量子计算机的主要障碍。量子态极易受到环境噪声干扰&#xff0c;导致量子相干性在极短时间内衰减——这种现象被称为退相干&#xff08;Decoherence&#xff09;。以超导量子比特为…...

AI网关架构设计:统一管理多LLM提供商的工程实践

引言 当一个企业同时使用OpenAI、Anthropic、Azure OpenAI、本地部署的LLaMA……如何统一管理这些提供商&#xff1f;如何实现智能路由、故障转移、成本控制和访问审计&#xff1f;AI网关&#xff08;AI Gateway&#xff09; 正是为这一需求而生的基础设施组件。它在业务应用和…...