hutool ExcelUtil导出excel二级表头
简介:Hutool是一款十分好用的开发工具集,里面包含了大部分日常开发常用的工具,使用简单方便,可以大大提升日常开发效率,十分推荐大家使用。这里简单总结一下基于Hutool的Excel使用。
一、Hutool依赖
<!-- Excel导出、导入--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.5</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.0.0</version></dependency>
public static void main(String[] args) {ExcelWriter writer = null;try {writer = ExcelUtil.getWriter(true);// 标题writer.merge(0, 1, 0, 0, "序号", true);writer.merge(0, 1, 1, 1, "合同编号", true);writer.merge(0, 1, 2, 2, "合同名称", true);writer.merge(0, 1, 3, 3, "承包商", true);writer.merge(0, 0, 4, 5, "合同投资", true);writer.merge(0, 1, 6, 6, "动态投资", true);writer.merge(0, 1, 7, 7, "估算投资", true);writer.merge(0, 1, 8, 8, "概算投资", true);writer.merge(0, 0, 9, 10, "工程预算", true);writer.merge(0, 0, 11, 12, "工程结(决)算", true);writer.merge(0, 0, 13, 14, "工程审计金额", true);writer.writeCellValue(4, 1, "总投资");// 设置单元格为表头默认样式,不设置当前单元格样式会与表头不一致writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 4, 1);writer.writeCellValue(5, 1, "暂定金额");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 5, 1);writer.writeCellValue(9, 1, "工程预算");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 9, 1);writer.writeCellValue(10, 1, "招标控制价");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 10, 1);writer.writeCellValue(11, 1, "结算金额");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 11, 1);writer.writeCellValue(12, 1, "决算金额");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 12, 1);writer.writeCellValue(13, 1, "结算审计");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 13, 1);writer.writeCellValue(14, 1, "决算审计");writer.setStyle(StyleUtil.createHeadCellStyle(writer.getWorkbook()), 14, 1);writer.passCurrentRow();writer.passCurrentRow();List<String> row1 = CollUtil.newArrayList("一","","建安投资","承包商1","23","30","54.2","23","22","33","124","203","345","55","5555");List<String> row2 = CollUtil.newArrayList("二","","建安投资","承包商1","23","30","54.2","23","22","33","124","203","345","55","5555");List<List<String>> rows2 = CollUtil.newArrayList(row1,row2);writer.write(rows2, false);// 写出流writer.flush(new FileOutputStream(new File("d:/复杂表头.xlsx")));} catch (Exception e) {} finally {if (writer != null) {writer.close();}}
}相关文章:
hutool ExcelUtil导出excel二级表头
简介:Hutool是一款十分好用的开发工具集,里面包含了大部分日常开发常用的工具,使用简单方便,可以大大提升日常开发效率,十分推荐大家使用。这里简单总结一下基于Hutool的Excel使用。 一、Hutool依赖 <!-- Excel导出…...
《开箱元宇宙》:认识香港麦当劳通过 The Sandbox McNuggets Land 的 Web3 成功经验
McNuggets Land 是 The Sandbox 于 2023 年发布的最受欢迎的体验之一。在本期的《开箱元宇宙》系列中,我们采访了香港麦当劳数位顾客体验暨合作伙伴资深总监 Kai Tsang,来了解这一成功案例背后的策略。 在不断发展的市场营销和品牌推广领域,不…...
基于python+TensorFlow+Django卷积网络算法+深度学习模型+蔬菜识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 介绍了TensorFlow在图像识别分类中的应用,并通过相关代码进行了讲解。通过TensorFlow提供的工具和库&am…...
Python异常处理:三种不同方法的探索与最佳实践
Python异常处理:三种不同方法的探索与最佳实践 前言 本文旨在探讨Python中三种不同的异常处理方法。通过深入理解各种异常处理策略,我们可以更好地应对不同的编程场景,选择最适合自己需求的方法。 异常处理在编程中扮演着至关重要的角色。合…...
一文图解爬虫(spider)
—引导语 互联网(Internet)进化到今天,已然成为爬虫(Spider)编制的天下。从个体升级为组合、从组合联结为网络。因为有爬虫,我们可以更迅速地触达新鲜“网事”。 那么爬虫究竟如何工作的呢?允许…...
腾讯云3年期轻量应用服务器优惠(薅羊毛教程)
腾讯云轻量应用服务器特价是有新用户限制的,所以阿腾云建议大家选择3年期轻量应用服务器,一劳永逸,免去续费困扰。腾讯云轻量应用服务器3年优惠可以选择2核2G4M和2核4G5M带宽,3年轻量2核2G4M服务器540元,2核4G5M轻量应…...
多个div横向排列的几种方法
以下面这组 div 为例,group的高度由内容撑开 <div id"group"><div id"div1">div1</div><div id"div2">div2</div><div id"div3">div3</div> </div>显示结果如下为上下排…...
【编程语言发展史】Go语言的发展历史
目录 Go的起源 Go语言发展时间轴 logo Go的起源 Go 语言起源 2007 年,并于 2009 年正式对外发布。它从 2009 年 9 月 21 日开始作为谷歌公司 20% 兼职项目,即相关员工利用 20% 的空余时间来参与 Go 语言的研发工作。该项目的三位领导者均是著名的 …...
深入理解JVM虚拟机第二十三篇:详解JVM当中的栈顶缓存技术
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚JVM当中与操作数栈相关的字节码指令…...
通过easyexcel导出数据到表格
这篇文章简单介绍一下怎么通过easyexcel做数据的导出,使用之前easyui构建的歌曲列表crud应用,添加一个导出按钮,点击的时候直接连接后端接口地址,在后端的接口完成数据的导出功能。 前端页面完整代码 let editingId; let request…...
C++入门学习(4)引用 (讲解拿指针比较)
上期回顾 在学习完函数重载之后,我们可以使用多个重名函数进行操作,会发现C真的是弥补了好多C语言的不足之处,真的不禁感概一下,时代的进步是需要人去做出改变的,而不是一味的使用啊!所以我们今天继续学一下…...
温度采集DS18B20
/******************************************************************** * 描述 : 该文件实现了用温度传感器件DS18B20对温度的采集,并在数码管上显示出来。 ***********************************************************************/ #include<reg52.h&…...
同城跑腿服务预约小程序的作用如何
无论是互联网服务化加快还是前几年疫情冲击,在同城生活服务场景中出现了很多商机,如外卖跑腿、校园跑腿、代买代送等,无论公司还是个人都借势不断提升自己品牌的影响力,并且依赖朋友圈不断提升生意营收。 同城跑腿品牌不少&#…...
前后端开发迭代
要创建一个具有登录和注册功能的前端网页,并使用Go语言编写后端来支持它,你需要分两部分来进行:前端开发和后端开发。下面我将提供一个基本的指导方案。 前端开发 前端部分主要涉及HTML、CSS和JavaScript。你可以使用框架如React或Vue来简化…...
Git可视化界面的操作,SSH协议的以及IDEA集成Git
目录 一. Git可视化界面的操作 二. gitee的ssh key 2.1 SSH协议 2.2 ssh key 三. IDEA集成Git 3.1 分享项目 3.2 下载项目 一. Git可视化界面的操作 上一篇博客只用到了git的命令窗口,现在就来看看可视化窗口要怎么操作。 点击Git GUI Here GUI界面 在g…...
CSS的初步学习
CSS 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结 构分离. CSS 就是 “东方四大邪术” 之化妆术 CSS 基本语法规范: 选择器 若干属性声明 选择器决定针对谁修改 (找谁) 声明决定修…...
小程序样式问题
小程序切换下一个文章或者页面,淡入淡出效果 // detail.js getArticleData: function(articleId) {// 开始淡出效果this.animate(.detail-page, [{ opacity: 1.0, ease: ease-out },{ opacity: 0.0, ease: ease-out }], 500, () > {// 在淡出动画完成后请求文章…...
大数据毕业设计选题推荐-生产大数据平台-Hadoop-Spark-Hive
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
什么是Ribbon的饥饿加载?有什么优势?
目录 一、什么是Ribbon 二、什么是饥饿加载 三、Ribbon饥饿加载的优势 四、Ribbon饥饿加载的劣势 一、什么是Ribbon Ribbon是一个开源的、基于HTTP和TCP的客户端负载均衡工具,它提供了一个简单的、基于配置的负载均衡策略,可以帮助开发人员更轻松地…...
苹果手机安装未上架APP应用测试教程
STEP 2:找到下载的描述文件(如果没有找到,请到 设置 - 通用 - 描述文件 中查看) STEP 3:安装描述文件 STEP 4:输入解锁密码安装描述文件 STEP 5:同意免责声明,安装描述文件 STEP 6…...
Android14前台服务类型缺失异常解析与实战修复
1. Android14前台服务类型强制声明机制解析 最近在适配Android14时踩了个坑:原本运行良好的前台服务突然崩溃,抛出了MissingForegroundServiceTypeException异常。这个问题困扰了我整整两天,后来才发现是Android14新增的前台服务类型强制声明…...
C3D行为识别实战:UCF101视频数据预处理与帧提取全流程
1. 认识UCF101数据集与行为识别基础 第一次接触视频行为识别时,我对着UCF101数据集发了半天呆——这堆视频文件该怎么变成模型能理解的格式?后来才发现,预处理才是决定模型效果的关键第一步。UCF101作为行为识别领域的"MNIST"&…...
保姆级教程:新手小白学习人工智能,推荐哪些入门书籍和课程?适合零基础的有哪些?
保姆级教程:新手小白学习人工智能,推荐哪些入门书籍和课程?适合零基础的有哪些? 标签:#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习、#计算机视觉、#ai### 一、零基础必看入门书籍:侧重易懂…...
Rust 并发编程
Rust 并发编程 引言 Rust 是一种系统编程语言,以其高性能、内存安全性和并发特性而闻名。在多核处理器日益普及的今天,并发编程已成为软件开发的重要领域。本文将深入探讨 Rust 并发编程的各个方面,包括并发模型、同步机制和实际应用。 Rust 的并发模型 Rust 的并发模型…...
GitHub新手避坑指南:从Fork到提交PR,手把手教你参与开源项目(含SSH配置全流程)
GitHub开源贡献实战:从零完成第一次PR的全流程解析 第一次参与开源项目就像踏入一个充满活力的开发者社区,既兴奋又忐忑。上周我帮助一位同事提交了他的首个GitHub PR,看着他成功合并代码时的那种成就感,让我决定写下这篇详尽的指…...
告别Keil单调调试:用Ozone + J-Link可视化你的FreeRTOS任务状态(附工程配置避坑点)
告别Keil单调调试:用Ozone J-Link可视化你的FreeRTOS任务状态(附工程配置避坑点) 嵌入式开发中,调试环节往往占据大量时间成本。当项目复杂度上升到RTOS层面时,传统的Keil调试界面显得力不从心——开发者需要反复切换…...
10 分钟出稿!PaperXie AI 答辩 PPT 生成,本科生的毕业开挂神器
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 毕业论文答辩的终极考验,从来不是论文写得多好,而是你的 PPT 能不能让导师眼前一亮。多少人熬过了选题…...
从“相爱相杀”到“黄金三角”——将协同能力打造为个人与团队的核心竞争力
该文章同步至OneChan ——在芯片开发的复杂系统中,成为不可替代的连接者与放大器 当单个技术专家的个人英雄主义让位于系统性的团队协同,你所在的团队就具备了征服最复杂芯片挑战的终极武器。 引言:那个“全明星”团队的溃败 我曾见证过一个…...
边缘计算与软件开发:新职业场景——软件测试从业者的转型指南
一、边缘计算重构软件测试疆域随着物联网设备突破300亿大关(2025年数据),边缘计算以28.3%的年复合增长率重塑IT架构。到2026年,75%的新建企业系统将采用“云-边-端”三级协同架构,这对软件测试领域带来根本性变革&…...
FreeMoCap入门指南:5步搞定免费开源动作捕捉系统
FreeMoCap入门指南:5步搞定免费开源动作捕捉系统 【免费下载链接】freemocap Free Motion Capture for Everyone 💀✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 想要体验专业级的动作捕捉技术,但又担心高昂的成本…...
