当前位置: 首页 > 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.hskmm.com/?act=detail&tid=32930

相关文章:

  • 深入解析:PX4 无人机地面调试全攻略:从机械到参数的系统优化
  • 2025年陶瓷过滤板厂家推荐排行榜,白刚玉陶瓷过滤板,棕刚玉陶瓷过滤板,扇形陶瓷板,真空陶瓷过滤板,陶瓷滤膜,陶瓷过滤机配件公司推荐
  • springboot结合阿里巴巴easyexcel,实现一键把Excel数据导入数据库
  • 2025年10月长白山度假酒店推荐:民俗与国际品质兼得
  • 2025年10月长白山度假酒店推荐:民俗与国际范兼得
  • 2025年10月访客系统推荐:五强榜单与选型要点
  • 2025年工业设备安装厂家权威推荐榜:管道/电气/暖通空调/空压系统/纯水系统/厂房通风/车间配电/机械设备专业安装服务全景解析
  • 实习内推】机器人操作系统Dora-rs团队招募实习生(北京)
  • 2025 上海财税服务机构优选榜:上海注册公司与代理记账领域靠谱服务商推荐
  • GoodSync 2025年10月17日
  • 书本p66实训题第2题
  • 2025全屋定制厂家推荐:聚焦异形空间+特色色系,森佰特木业领衔优质之选
  • springboot 上传图片到服务器之后,前段不能正确加载图片问题
  • springboot 设置文件上传大小
  • 【光照】UnityURP[屏幕空间环境光遮蔽SSAO]原理剖析实践
  • Ai元人文:讨论一种新的决策科学
  • 2025年流量计厂家权威推荐榜单:热式/模拟式/数字式/高压/高温/耐腐蚀/多气体/4-20mA/RS485/分体式/不锈钢高精度流量计公司精选
  • 深入解析:云原生时代的数据流高速公路:深入解剖Apache Pulsar的架构设计哲学
  • 251017
  • DeepResearch代码浅析
  • 2025年连铸机厂家权威推荐榜单:扇形段/大包回转台/钢包中间罐/结晶器总成/拉矫机/引锭杆/输送辊道/液压剪等核心部件专业供应商
  • 拉格朗日插值
  • 2025年10月中国专精特新申报服务机构推荐榜:五强实测
  • 2025年轧钢设备厂家权威推荐榜:冷轧机、热轧机源头生产厂家,技术实力与市场口碑深度解析
  • 正态总体中标准化单样本残差的分布推导
  • 10.16 CSP-S 模拟赛总结
  • 远程无钥匙进入(PKE)技术:便利与安全的完美融合
  • 203. 移除链表元素
  • 灵动岛iPhone状态栏获得高度不对 iOS iPhone14pro iPhone14pro max状态栏获得高度不对
  • string略解