SpringBoot将数据生成Excel表 您所在的位置:网站首页 jsp生成Excel并保存 SpringBoot将数据生成Excel表

SpringBoot将数据生成Excel表

2023-12-03 18:30| 来源: 网络整理| 查看: 265

1.前言

入职后做的第一个小需求,按照产品的要求将数据库中想要的信息摘取出来生成一张Excel表。因可能涉及公司,以下代码示例有改动且没有实际运行过,均只代表逻辑思路

2.导入依赖

此功能需要的依赖如下

org.apache.poi poi 3.17 org.apache.poi poi-ooxml 3.17 org.apache.poi poi-ooxml-schemas 3.17

这里注意其版本一定要一致,不一致会报错

3.获取数据库数据

写一个UserInfoMapper.java和UserInfoMapper.xml和UserInfoService.java从数据库获取信息

@Mapper public interface UserInfoMapper { /** * @desc 查询所有用户信息 * @return 返回多个用户List * */ List queryUserInfoResultListMap(); } select * from user_info @Service public class UserInfoService { @Autowired UserInfoMapper userInfoMapper; public List queryUserInfoResultListMap() { List list = userInfoMapper.queryUserInfoResultListMap(); return list; } }

这里不是只能从数据库拿数据来生成表格,可根据实际情况改动,只需要最后能拿到一个List结构的list即可,每个Map中的key-value都是对应着每个单元格中的表头和对应字段,一个Map中的多个key-value组成一行表格,一个list中的多个Map组成一张表格。

4.生成表格表头

这个ColumnTitleMap用来确立数据和表头的对应关系的,用法见注释和下文

import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /** * @ClassName ColumnTitleMap * @Description 数据导出,生成excel文件时的列名称 * @Author qiwen * @Data 2020/8/4 15:59 */ public class ColumnTitleMap { private Map columnTitleMap = new HashMap(); private ArrayList titleKeyList = new ArrayList(); public ColumnTitleMap() { initUserInfoColu(); initUserInfoTitleKeyList(); } /** * mysql用户表需要导出字段--显示名称对应集合 */ private void initUserInfoColu() { columnTitleMap.put("uuid", "内容ID"); columnTitleMap.put("contentType", "内容类型"); columnTitleMap.put("title", "标题"); columnTitleMap.put("publishedTime", "发布时间"); columnTitleMap.put("uid", "作者ID"); columnTitleMap.put("nickname", "昵称"); columnTitleMap.put("readingNum", "阅读量"); columnTitleMap.put("likes", "点赞量"); columnTitleMap.put("src", "视频地址"); columnTitleMap.put("link", "内容


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有