SpringBoot的excel模板导出

Word的模板导出(参考:https://easyexcel.opensource.alibaba.com/docs/current/quickstart/fill)

  1. 创建有两个sheet的excel文件模板
    在这里插入图片描述
    在这里插入图片描述
  2. 将模板文件放入resource\templates/doc下
  3. 使用
    public void exportUavInfoExcel(HttpServletResponse response, CaseExportRPO caseExportRPO) throws IOException {response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("无人机情况汇报.xls", "utf-8"));// 获取数据库数据List<Object> caseList = baseMapper.getList();List<UavAreaExcel> typeList = exportStatisticsHandle(typeMap);// 获取模板String templateFileName = new ClassPathResource("templates/doc/uavInfoExcel.xls").getFile().getAbsolutePath();try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(templateFileName).build()) {WriteSheet writeSheet = EasyExcel.writerSheet("按区域").build();excelWriter.fill(areaList, writeSheet);WriteSheet writeSheet1 = EasyExcel.writerSheet("按类型").build();excelWriter.fill(typeList, writeSheet1);// 写入时间Map<String, Object> map = new HashMap<String, Object>();map.put("timeRange", DateUtil.date(caseExportRPO.getStartTime()).toString(DatePattern.CHINESE_DATE_PATTERN) + " 至 " + DateUtil.date(caseExportRPO.getEndTime()).toString(DatePattern.CHINESE_DATE_PATTERN));excelWriter.fill(map, writeSheet);excelWriter.fill(map, writeSheet1);excelWriter.finish();}}

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

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

相关文章

如何去开展软件测试工作

1. 软件测试 在一般的项目中&#xff0c;一开始均为手动测试&#xff0c;由于自动化测试前期投入较大&#xff0c;一般要软件项目达到一定的规模&#xff0c;更新频次和质量均有一定要求时才会上自动化测试或软件测试。 1.1. 项目中每个成员的测试职责 软件测试从来不是某一…

flink使用kryo支持自定义的序列化器

背景 这里所说的序列化器不是指实现TypeSerializer的状态序列化器&#xff0c;而是指flink在使用KryoSerializer序列化器时遇到kryo无法序列化的类型时&#xff0c;通过往kryo中注册某个序列化器类来让kryo可以序列化某个类的实例&#xff0c;所以这里严格意义上应该是说&…

TypeScript学习记录

一、TS开发环境的搭建 1、下载并安装node.js 2、使用npm全局安装typeScript 进入命令行输入&#xff1a;npm i -g typescript 3、创建一个ts文件 4、使用tsc对ts文件进行编译 进入命令行进入ts文件所在目录执行命令&#xff1a;tsc 文件名.ts 二、TS基本变量 1、类型声…

ChatGPT:使用FastJSON库关闭JSON引用检测的方法

ChatGPT&#xff1a;使用FastJSON库关闭JSON引用检测的方法 下面我将输入一个方法&#xff0c;请你记住&#xff1a; ChatGPT&#xff1a; 好的&#xff0c;请输入方法。 RequestMapping("/getLianZhengLabels") public String getLianZhengLabels() {HashMap<St…

Kubernetes(K8s):未来云原生应用的引擎

文章目录 Kubernetes的核心概念和架构为什么K8s是构建云原生应用的首选工具&#xff1f;云原生应用的好处和挑战容器编排的重要性&#xff1a;Docker和KubernetesKubernetes生态系统&#xff1a;核心组件和附加工具实际应用&#xff1a;企业如何在生产环境中使用K8s未来展望&am…

rust trait对象

在拥有继承的语言中&#xff0c;可以定义一个名为shape的基类&#xff0c;该类上有一个draw方法。其他的类比如Button、SelectBox继承shape。它们各自覆盖draw方法。调用这些子类的draw方法时&#xff0c;就可以把它们统一当作shape来使用。不过Rust并没有继承&#xff0c;如果…

做一个贪吃蛇小游戏happy一下

直接Vue上代码 <template><div><div>贪吃蛇</div><canvas id"canvas" width"400" height"400"></canvas></div> </template><script> export default {data() {return {ctx: null,inter…

Android 遍历界面所有的View

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、实践四、 推荐阅读 一、导读 我们…

结构型设计模式——组合模式

摘要 组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 一、组合模式的意图 将对象组合成树形结构来表示“整体/部分”层次关系&#xff0c;允许用户以相同的方式处理单独…

AVL Cruise 2020.1 安装教程

文章目录 安装包安装破解 安装包 链接&#xff1a;https://pan.baidu.com/s/1GxbeDj_SyvKFyPeTsstvTQ?pwd6666 提取码&#xff1a;6666 安装 安装文件&#xff1a; 双击setup.exe&#xff1a; 一直netx&#xff0c;中间要修改两次路径&#xff0c;第一次是安装位置&#xf…

Flume最简单使用

文章目录 一、简介1、定义2、基础架构 二、快速入门1、解压Flume2、案例一&#xff1a;监控端口号3、案例二&#xff1a;将空目录下文件 三、Flume进阶1、Flume事务2、Flume Agent内部原理3、案例一&#xff1a;监控日志4、案例二&#xff1a;多路复用和拦截器适应4.1 原理4.2 …

二进制十六机制CRC总和异或等工具类

package com.dc.util;import org.apache.http.util.TextUtils; import java.nio.ByteBuffer; import

LCP 06. 拿硬币/2582. 递枕头[java]

LCP 06. 拿硬币 - 力扣&#xff08;LeetCode&#xff09; 桌上有 n 堆力扣币&#xff0c;每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆&#xff0c;拿走其中的一枚或者两枚&#xff0c;求拿完所有力扣币的最少次数。 示例 1&#xff1a; 输入&#xff1a;[4,2,1…

Linux部署elk日志监控系统

目录 一、简介 二、部署elasticsearch 2.1 安装jdk11&#xff08;jdk版本>11&#xff09; 2.2 下载安装包 2.3 授权elk用户 2.4 配置elasticsearch.yml 2.5 启动elasticsearch 三、部署logstash 3.1 启动测试 3.2 可能出现的报错 3.3 指定配置文件启动logstash 3.4 安装El…

Ubuntu 设置开机自动执行脚本

1. 建立service文件 sudo vim /etc/systemd/system/redis-server.service2. redis service文件 [Unit] DescriptionAdvanced key-value store Afternetwork.target Documentationhttp://redis.io/documentation, man:redis-server(1)[Service] Typenotify ExecStart/usr/bin/…

MySQL数据库管理

一、sql语句&#xff1a; SQL语句用于维护管理数据库&#xff0c;包括数据查询、数据更新、访问控制、对象管理等功能。 二、SQL语言分类&#xff1a; DDL&#xff1a;数据定义语言&#xff0c;用于创建数据库对象&#xff0c;如库、表、索引等 DML&#xff1a;数据操纵语言&a…

Win/Mac版Scitools Understand教育版申请

这里写目录标题 前言教育版申请流程教育账号申请 前言 上篇文章为大家介绍了Scitools Understand软件&#xff0c;通过领取的反馈来看有很多朋友都想用这个软件&#xff0c;但是我的网盘里只存了windows的pojie版&#xff0c;没有mac版的&#xff0c;我没有去网上找相关的资源…

js中的类型转换

原文地址 JavaScript 中有两种类型转换&#xff1a;隐式类型转换&#xff08;强制类型转换&#xff09;和显式类型转换。类型转换是将一个数据类型的值转换为另一个数据类型的值的过程。 隐式类型转换&#xff08;强制类型转换&#xff09;&#xff1a; 隐式类型转换是 Java…

Numpy入门

文章目录 1. Ndarray的5种重要属性2. Ndarray的7种创建方法3. 类型转换和等比/差数列4. Numpy的8种内置方法5. Numpy 数学运算 主要内容 Ndarray的5种重要属性 nd.ndim Ndarray的维度nd.shape Ndarray的行列数nd.size Ndarray的元素数nd.dtype Ndarray元素类型nd.itemsize Nda…

变量、常量以及与其他语言的差异 - Go语言从入门到实战

知识点 源码文件以_test结尾&#xff1a;xxx_test.go测试方法名以Test开头&#xff1a;func TestXXX(t *testing.T){…} 利用单元测试来写代码段&#xff0c;保存之后会自动运行程序返回结果&#xff0c;可以快速实践得到反馈。 编写测试程序 接下来练习一下&#xff0c;怎…