Springboot后端导入导出excel表

news/2024/7/21 5:59:15 标签: spring boot, excel, 后端

 一、依赖添加

操作手册:Hutool — 🍬A set of tools that keep Java sweet. 

        <!--hutool工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.20</version>
        </dependency>
        <!--Apache POI,用于读写excel文档-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>

二、实现接口

  excel导入

    /**
     * 上传excel
     * @param file 请求头设置为form-data,参数名需一致(例如:file)
     * @throws Exception
     */
    @PostMapping("/import")
    public void importExcel(MultipartFile file) throws Exception {
        // 获取数据流
        InputStream inputStream = file.getInputStream();
        ExcelReader reader = ExcelUtil.getReader(inputStream);
        
        // 读取数据
        List<Login> list = reader.readAll(Login.class);
        System.out.println(list);
    }

 excel导出

    /**
     * 导出excel
     * @param response
     * @throws Exception
     */
    @GetMapping("/export")
    public void exportExcel(HttpServletResponse response) throws Exception {
        List<Login> list = loginService.list();

        // 从内存操作,直接写出到浏览器
        ExcelWriter writer = ExcelUtil.getWriter(true);

        // 自定义列名
        writer.addHeaderAlias("id", "账号");
        writer.addHeaderAlias("name", "用户名");
        writer.addHeaderAlias("job", "职业");
        writer.addHeaderAlias("address", "地址");

        // 写出到excel对象
        writer.write(list, true);

        // 设置浏览器响应的格式
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
        String fileName = URLEncoder.encode("用户信息表", "UTF-8");
        response.setHeader( "Content-Disposition", "attachment;filename=" + fileName + ".xlsx");

        // 执行导出,并释放
        ServletOutputStream out = response.getOutputStream();
        writer.flush(out, true);
        out.close();
        writer.close();
    }


http://www.niftyadmin.cn/n/5014418.html

相关文章

洛谷P8814:解密 ← CSP-J 2022 复赛第2题

【题目来源】https://www.luogu.com.cn/problem/P8814https://www.acwing.com/problem/content/4732/【题目描述】 给定一个正整数 k&#xff0c;有 k 次询问&#xff0c;每次给定三个正整数 ni&#xff0c;ei&#xff0c;di&#xff0c;求两个正整数 pi&#xff0c;qi&#xf…

MySQL基础与库的基本操作

目录 1 MySQL基础一种存储解决方案SQL分类查看MySQL存储引擎 2 MySQL 库的操作数据库基本增删认识系统编码校验规则对数据库的影响数据库的查看与删除修改数据库数据库的备份与恢复查看连接情况 1 MySQL基础 一种存储解决方案 mysql本质是一种网络服务 mysql – 数据库服务的…

推荐一款程序员截图神器!

快来看一下程序员必备的一款截图工具 今天就来和大家说一下作为程序员必备截图神器&#xff0c;几乎每一个程序员都会设置开机自启&#xff0c;因为这个截图功能太太太好用了&#xff01;&#xff01;&#xff01;只要你在键盘上按下F1就可以轻松截取整个屏幕&#xff0c;然后…

ant-design-vue组件的upload上传头像上传三次的问题(图片多次上传问题)

问题描述 使用upload组件时&#xff0c;发现上传方法会被调用3次&#xff0c;对于上传单张图片来说这似乎没什么问题&#xff1b; 但是使用fileList参数时&#xff0c;就会发现即使你只上传了一张图片&#xff0c;但是处理后的图片为三张重复图片&#xff0c;这样的话如何匹配…

ZooInspector

一、在window&#xff0c;使用我们先打开Zookeeper,目录bin下的zkServer.cmd&#xff0c;把Zookeeper运行起来 ​编辑https://img.111com.net/attachment/art/187687/5f0c25fbe580c.png 二、可以使用目录bin下的zkCli.cmd&#xff0c;查询Zookeeper数据的方式&#xff0c;但是…

【Excel函数】文本处理之Text函数

在Excel中,TEXT函数用于将数值或日期格式的数据转换为文本格式,以便在单元格中以特定的文本格式显示。TEXT函数的语法如下。 TEXT(要格式化的值, "格式") 要格式化的值:这是您要将其转换为文本的数值或日期。 格式:这是一个文本字符串,用于指定要应用于值…

目标检测数据集:医学图像检测数据集(自己标注)

1.专栏介绍 ✨✨✨✨✨✨目标检测数据集✨✨✨✨✨✨ 本专栏提供各种场景的数据集,主要聚焦:工业缺陷检测数据集、小目标数据集、遥感数据集、红外小目标数据集,该专栏的数据集会在多个专栏进行验证,在多个数据集进行验证mAP涨点明显,尤其是小目标、遮挡物精度提升明显的…

群晖 DS918通过CISCO SG250 LACP 链路聚合效果不佳的问题解决

问题表现 使用的是CISCO交换机打开LACP 链路聚合&#xff0c;且DS918上完成接口聚合并配置为平衡TCP模式后。通过IPREF测速整体网络性能仅能达到300Mbps左右。 问题解决 检查CISCO交换机LAG配置中&#xff0c;针对DS918的接口组是否正确配置了流量配置。请按照如下图所示&#…