EasyExcel实现下载模板

 实体类:

package com.aicut.monitor.domain;import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;import java.util.Date;/*** 切刀管控台账* @author zhangzhi*/
@ExcelIgnoreUnannotated
@Getter
@Setter
public class CutterControl extends BaseEntity {/** 主键 */@ExcelIgnore@Schema(description = "主键")private Long id;/** 工厂编码 */@ExcelProperty(value = "工厂编码")@Schema(description = "工厂编码")private String factoryCode;/** 产线编码 */@ExcelProperty(value = "产线编码")@Schema(description = "产线编码")private String productionLineCode;/** 设备编号 */@ExcelProperty(value = "设备编号")@Schema(description = "设备编号")private String deviceNumber;/** 设备名称 */@ExcelProperty(value = "设备名称")@Schema(description = "设备名称")private String deviceName;@ExcelProperty(value = "检测刀具编码")@Schema(description = "检测刀具编码")private String cutterCode;@ExcelProperty(value = {"换刀位置", "上刀左"},index = 5)@Schema(description = "换刀位置上刀左")private Integer toolChangePosTopLeft;@ExcelProperty(value = {"换刀位置", "上刀中"},index = 6)@Schema(description = "换刀位置上刀中")private Integer toolChangePosTopCenter;@ExcelProperty(value = {"换刀位置", "上刀右"},index = 7)@Schema(description = "换刀位置上刀右")private Integer toolChangePosTopRight;@ExcelProperty(value = {"换刀位置", "下刀左"},index = 8)@Schema(description = "换刀位置下刀左")private Integer toolChangePosBottomLeft;@ExcelProperty(value = {"换刀位置", "下刀中"},index = 9)@Schema(description = "换刀位置下刀中")private Integer toolChangePosBottomCenter;@ExcelProperty(value = {"换刀位置", "下刀右"},index = 10)@Schema(description = "换刀位置下刀右")private Integer toolChangePosBottomRight;@ExcelProperty(value = {"累计分切米数", "上刀左"},index = 11)@Schema(description = "累计分切米数上刀左")private Integer cuttingMetersTopLeft;@ExcelProperty(value = {"累计分切米数", "上刀中"},index = 12)@Schema(description = "累计分切米数上刀中")private Integer cuttingMetersTopCenter;@ExcelProperty(value = {"累计分切米数", "上刀右"},index = 13)@Schema(description = "累计分切米数上刀右")private Integer cuttingMetersTopRight;@ExcelProperty(value = {"累计分切米数", "下刀左"},index = 14)@Schema(description = "累计分切米数下刀左")private Integer cuttingMetersBottomLeft;@ExcelProperty(value = {"累计分切米数", "下刀中"},index = 15)@Schema(description = "累计分切米数下刀中")private Integer cuttingMetersBottomCenter;@ExcelProperty(value = {"累计分切米数", "下刀右"},index = 16)@Schema(description = "累计分切米数下刀右")private Integer cuttingMetersBottomRight;/** 换刀时间 */@JsonFormat(timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")@ExcelProperty(value = "换刀时间")@ColumnWidth(20)@Schema(description = "换刀时间")private Date cutterChangeTime;/** 上刀数 */@ExcelProperty(value = "上刀数")@Schema(description = "上刀数")private Integer upperKnifeNumber;/** 下刀数 */@ExcelProperty(value = "下刀数")@Schema(description = "下刀数")private Integer lowerKnifeNumber;@ExcelProperty(value = "更换人员")@Schema(description = "更换人员")private String modifyUser;/** 备注 */@ExcelProperty(value = "备注")@Schema(description = "备注")private String remark;}

 导出模板到网页

@PostMapping("/importTemplate")public void importTemplate(HttpServletResponse response) throws UnsupportedEncodingException {String fileName = "切刀管控台账数据模板.xlsx";fileName = URLEncoder.encode(fileName, "UTF-8");response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf8");response.setHeader("Content-disposition", "attachment;filename=" + fileName );try {EasyExcel.write(response.getOutputStream(),CutterControl.class).sheet("切刀管控台账数据").doWrite(new ArrayList<CutterControl>());}catch (Exception e){log.error(e.getMessage());}}

导出结果:

 

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

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

相关文章

YOLOv8全网独家首发:Powerful-IoU更好、更快的收敛IoU | 2024年最新IoU

💡💡💡本文独家改进:Powerful-IoU更好、更快的收敛IoU,是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 💡💡💡MS COCO和PASCAL VOC数据集实现涨点 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.htm…

【新课上架】安装部署系列Ⅲ—Oracle 19c Data Guard部署之两节点RAC部署实战

01 课程介绍 Oracle Real Application Clusters (RAC) 是一种跨多个节点分布数据库的企业级解决方案。它使组织能够通过实现容错和负载平衡来提高可用性和可扩展性&#xff0c;同时提高性能。本课程基于当前主流版本Oracle 19cOEL7.9解析如何搭建2节点RAC对1节点单机的DATA GU…

数学知识第一期 质数

前言 本文是关于质数的一些内容&#xff0c;希望能够对大家有帮助&#xff01;&#xff01;&#xff01; 一、质数的基本内容 定义&#xff1a; 质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则…

Go Zero微服务个人探究之路(十)实战走通微服务前台请求调用的一套流程model->rpc微服务->apiHTTP调用

前言 Go语言凭借低占用&#xff0c;高并发等优秀特性成为后台编程语言的新星&#xff0c;GoZero框架由七牛云技术副总裁团队编写&#xff0c;目前已经成为Go微服务框架里star数量最多的框架 本文记录讲述笔者一步步走通前台向后台发出请求&#xff0c;后台api调用rpc服务的相…

VR数字展厅,平面静态跨越到3D立体化时代

近些年&#xff0c;VR的概念被越来越多的人提起&#xff0c;较为常见的形式就是VR数字展厅。VR数字展厅的出现&#xff0c;让各地以及各行业的展厅展馆的呈现和宣传都发生了很大的改变和革新&#xff0c;同时也意味着展览传播的方式不再局限于原来的图文、视频&#xff0c;而是…

【Redis】list以及他的应用场景

介绍 &#xff1a;list 即是 链表。链表是一种非常常见的数据结构&#xff0c;特点是易于数据元素的插入和删除并且且可以灵活调整链表长度&#xff0c;但是链表的随机访问困难。许多高级编程语言都内置了链表的实现比如 Java 中的 LinkedList&#xff0c;但是 C 语言并没有实现…

Spring Boot如何统计一个Bean中方法的调用次数

目录 实现思路 前置条件 实现步骤 首先我们先自定义一个注解 接下来定义一个切面 需要统计方法上使用该注解 测试 实现思路 通过AOP即可实现&#xff0c;通过AOP对Bean进行代理&#xff0c;在每次执行方法前或者后进行几次计数统计。这个主要就是考虑好如何避免并发情况…

JavaScript Proxy 对象、eval函数详解

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ 目录 ✨ 前言 ✨ 正文 Proxy 什么是 Proxy 代理 handlers get 捕获器 se…

Oracle ORA-09925

Error : 30: Read-only file system 造成这个问题的原因大多数是因为非正常关机后导致文件系统受损引起的&#xff0c;在系统重启之后&#xff0c;受损分区就会被Linux自动挂载为只读。 解决办法之一&#xff1a; 重启系统

聚观早报 | 特斯拉公布2023年财报;五菱红1号电池正式发布

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 1月26日消息 特斯拉公布2023年财报 五菱红1号电池正式发布 Redmi Note 13 Pro新春版开售 三星Galaxy S24系列发布…

HCIA——29HTTP、万维网、HTML、PPP、ICMP;万维网的工作过程;HTTP 的特点HTTP 的报文结构的选择、解答

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

在windows上用python版tensorrt推理

文章目录 尝试一&#xff1a;利用torch导出的pth文件&#xff0c;调用torch2trt来进行trt推理1.1 搭建环境1.2 如何trt推理1.3 遇到的问题 尝试二&#xff1a;把onnx模型转为sim版的onnx模型2.1 搭建onnxim环境2.2 使用 onnxsim 尝试三&#xff1a;把onnx-sim转到trt&#xff0…

Python之代码覆盖率框架coverage使用介绍

Python代码覆盖率工具coverage.py其实是一个第三方的包&#xff0c;同时支持Python2和Python3版本。 安装也非常简单&#xff0c;直接运行&#xff1a; pip install coverage 安装完成后&#xff0c;会在Python环境下的\Scripts下看到coverage.exe&#xff1b; 首先我们编写…

【LIBS】交叉编译TCPDUMP

目录 1. 安装编译工具2. 设置环境变量3. 编译libpcap3.1 安装依赖3.2 交叉编译 4. 编译TCPDUMP4.1 克隆仓库与生成构建环境4.2 静态链接LIBPCAP4.3 动态链接LIBPCAP4.4 构建与安装 5. 查看交叉编译结果5.1 文件布局 1. 安装编译工具 sudo apt-get install -y autoconf automak…

架构篇25:高可用存储架构-双机架构

文章目录 主备复制主从复制双机切换主主复制小结存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题。因此,对任何一个高可用存储方案,我们需要从以下几个方面去进行思考…

爬取第一试卷网高三数学试卷并下载到本地

import requests import re import os filename 试卷\\ if not os.path.exists(filename):os.mkdir(filename) url https://www.shijuan1.com/a/sjsxg3/list_727_1.html headers {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.…

第二百八十七回

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容&#xff0c;本章回中将介绍如何播放视频.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

DDOS攻击有哪几种类型

DDOS攻击“分布式拒绝服务”是目前网站服务器所常见的恶意攻击&#xff0c;其原理是通过控制大量肉鸡(虚假流量)访问网站服务器消耗带宽、内存等资源&#xff0c;其目的是使得网站服务器无法正常的访问&#xff0c;其后果是直接导致企业业务受损&#xff0c;数据丢失&#xff0…

Android开发修炼之路——(一)Android App开发基础-3

本专栏文章&#xff1a; Android开发修炼之路——&#xff08;一&#xff09;Android App开发基础-1 Android开发修炼之路——&#xff08;一&#xff09;Android App开发基础-2 3 App的设计规范 本节介绍了App工程的源码设计规范&#xff0c;首先App将看得见的界面设计与看不…

eNSP学习——交换机基础

目录 原理概述 实验目的 实验步骤 实验内容 实验拓扑 实验步骤 基础配置 配置交换机双工模式 配置接口速率 思考题 原理概述 交换机之间通过以太网电接口对接时需要协商一些接口参数&#xff0c;比如速率、双工模式等。   接口速率&#xff1a;指的是交换机接口每秒钟传…