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

springboot结合阿里巴巴easyexcel,实现一键导出数据到Excel中

技术说明:

springboot:2.1.4.RELEASE
jQuery
Ajax
mysql:8.0.32

作业背景

我现在有个实体类,数据库里面有1000行数据,我需要实现全部自动导出到Excel表格中,接下来就是实现这个功能的额,

pom.xml

        <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.2</version></dependency>

如下实体类,每个字段上面加入对应的注解,如下代码:@ExcelProperty(value = "编号",index = 0),value的值,就是导出Excel表格每列表头的值。index的值,就是你Excel表头的位置。第一个就是0开始。如果某个Excel表头不需要导入,使用@ExcelIgnore忽略


@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class StaffDo{/***编号*/@ExcelProperty(value = "编号",index = 0)private Integer id;/***姓名*/@ExcelProperty(value = "姓名",index = 1)private String name;/***是否在职*/@ExcelProperty(value = "是否在职",index = 2)private Integer state;/*** 性别*/@ExcelProperty(value = "性别",index = 3)private String sex;/***电话*/@ExcelProperty(value = "联系电话",index = 4)private String phoneNumber;/*** 身份证*/@ExcelProperty(value = "身份证号",index = 5)private String idCard;/*** 居住地址*/@ExcelProperty(value = "居住地址",index = 6)private String address;/***入职时间*/@ExcelProperty(value = "入职时间",index = 7)@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")private Date entryTime;/***离职时间*/@ExcelProperty(value = "离职时间",index = 8)@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")private Date leaveDate;/***户籍地址*/@ExcelProperty(value = "户籍地址",index = 9)private String domicileAddress;/***紧急联系人*/@ExcelProperty(value = "紧急联系人",index = 10)private String contacts;/***紧急联系人-关系*/@ExcelProperty(value = "联系人关系",index = 11)private String relationship;/***紧急联系人电话*/@ExcelProperty(value = "联系人电话",index = 12)private String contactPhone;/***其他,备注*/@ExcelProperty(value = "备注",index = 13)private String other;}

后端代码,前端只需要实现一个导出按钮,发送exportExcel请求即可

    /*** 导出Excel*/@RequestMapping("/exportExcel")@ResponseBodypublic void exportExcel(HttpServletResponse response) throws IOException {//设置响应头,告诉浏览器以下载方式打开,并设置下载文件名response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("UTF-8");String filename = URLEncoder.encode("员工信息表", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + filename + System.currentTimeMillis() + ".xlsx");//写入ExcelEasyExcel.write(response.getOutputStream(),StaffDo.class)//StaffDo这里对应你的实体类.sheet("sheet1")//Excel表名字sheet1,你可以改你想要的名字.doWrite(staffService.selectAllStaff());//这里staffService.selectAllStaff(),是我后端查询所有数据,你跟据你自己的代码更改}
http://www.rkmt.cn/news/22872.html

相关文章:

  • 深入解析:PX4 无人机地面调试全攻略:从机械到参数的系统优化
  • 2025年陶瓷过滤板厂家推荐排行榜,白刚玉陶瓷过滤板,棕刚玉陶瓷过滤板,扇形陶瓷板,真空陶瓷过滤板,陶瓷滤膜,陶瓷过滤机配件公司推荐
  • springboot结合阿里巴巴easyexcel,实现一键把Excel数据导入数据库
  • 2025年工业设备安装厂家权威推荐榜:管道/电气/暖通空调/空压系统/纯水系统/厂房通风/车间配电/机械设备专业安装服务全景解析
  • 实习内推】机器人操作系统Dora-rs团队招募实习生(北京)
  • 机器人控制利器:MPC入门与实践解析 - 指南
  • 2025年轧钢设备厂家权威推荐榜:冷轧机、热轧机源头生产厂家,技术实力与市场口碑深度解析
  • 实用指南:在鸿蒙NEXT中发起HTTP网络请求:从入门到精通
  • string略解
  • 《程序员修炼之道》 阅读笔记二
  • 是时候告别向日葵、Todesk、TeamViewer了,快速搭建自托管服务器RustDesk
  • $\text{Catalan}$ 数 卡特兰数
  • 风险评估的流程和各阶段的工作内容
  • 稀疏离散分数阶傅里叶变换的MATLAB实现
  • 2025 年导轨丝杆源头厂家最新推荐榜,技术实力与市场口碑深度解析的优质企业榜单东莞/直线/滚珠/孚雷导轨丝杆厂家推荐
  • far的数据类型
  • WSL+Ubuntu + AI (Claude, SpecKit, iFlow) 常用命令
  • 事件在react中的处理方式?
  • 农经权报表生成小程序介绍
  • Linux 中检测gz压缩文件是否损坏
  • 2025年信息流代运营服务商权威推荐榜:专业投放策略与高转化效果深度解析,助力企业精准营销
  • 权限维持-Windows权限维持
  • 1017
  • 2025 广州人力资源/派遣/外包/劳务外包/人事代理/推荐榜:精典人才创新 5 星领跑,适配招聘 / 测评 / 培训全场景企业需求
  • 2025 年选矿行业 2 号油厂家最新推荐排行榜:环保型 / 新型 / JQ202/101/QX/BK201/323 起泡剂等产品权威筛选,助力企业选对优质供应商
  • 2025 年探伤仪厂商最新推荐榜单:涡流 / 超声波 / 管材 / 焊缝 / 无损探伤仪优质企业权威盘点
  • 2025 年罗茨风机厂家最新推荐排行榜权威发布!深度解析各品牌优势助企业精准选型UNTW无泄漏/BRW水冷式罗茨风机厂家推荐
  • 【树莓派】安装PostgreSQL
  • 【数据结构】数据结构秘籍:如何衡量“查找”的快慢?ASL是关键! - 教程
  • 压缩 PDF 文件大小(3 大实用的 Python 库) - E