0

0

springboot layui hutool Excel导入如何实现

WBOY

WBOY

发布时间:2023-05-14 17:04:17

|

1943人浏览过

|

来源于亿速云

转载

    一、导入依赖

    (一)其他环境准备

    首先前期根据需求需要搭建springboot+前端的框架,这个根据个人项目来,我是用的springboot+layui。这些不是这里讨论的重点。

    (二)hutool和Excel导入

    
    
        cn.hutool
        hutool-all
        5.3.8
    
    
        org.apache.poi
        poi-ooxml
        4.0.0
    

    必须推荐一波:

    二、核心代码

    (一)前端按钮

    前端代码不是核心,只是为了一个思路

    //①按钮
    
    //②//导入 用layui upload插件
        layui.use([ "element", "laypage", "layer", "upload"], function() {
            debugger;
            var element = layui.element;
            var laypage = layui.laypage;
            var layer = layui.layer;
            var upload = layui.upload;//主要是这个
            layui.upload.render({
                elem: "#importData",//导入id
                url: "/emp/importData",
                size: '3072',
                accept: "file",
                exts: 'xls|xlsx|xlsm|xlt|xltx|xltm',
                done: function (result) {
                    if (result.status == 0) {
                        parent.layui.table.reload('LAY-app-emp-list');
                    }
                    if (result.message != null) {
                        parent.layui.table.reload('LAY-app-emp-list');
                        layer.msg(result.message)
                    }
                }
            });
            // refreshTable()
        });

    (二)后端代码

    controller接口

    @PostMapping(value = "/importData")
    @ResponseBody
    public CommonResult importData(@RequestParam MultipartFile file) {
        //调用service方法,这个地方通过MultipartFile参数就可以接收到上传的Excel文件内容了
        empService.importTemplate(file);
        return CommonResult.success("上传成功");
    }

    service实现类代码

    说明:这里我们接收到file之后,通过hutool工具中的ExcelUtil工具帮我们解析文件,等到一行一行的数据,这个时候我们只需要映射到我们的实体类中。这里我只是写了一个EmpDO中的两个字段,如果业务复杂参考这两个字段来就行了。

    Red Panda AI
    Red Panda AI

    AI文本生成图像

    下载
    @Override
    public void importTemplate(MultipartFile file) {
        InputStream inputStream = null;
        try {
            inputStream = file.getInputStream();
        }catch (Exception e){
            logger.info("文件异常");
        }
        //指定输入流和sheet
        ExcelReader reader = ExcelUtil.getReader(inputStream, 0); 
        // 读取第二行到最后一行数据
        List> read = reader.read(1, reader.getRowCount());
        List empDOS = new ArrayList<>();
        for (List objects : read) {
            EmpDO empDO = new EmpDO();
            //读取某行第一列数据
            Object sampleNo = objects.get(0);
            //读取某行第二列数据
            Object sampleName = objects.get(1);
            //员工id
            empDO.setEmpId(Integer.parseInt(sampleNo.toString()));
            //员工姓名
            empDO.setName(sampleName.toString());
            empDOS.add(empDO);
            //这里没有做数据插入到数据库的操作,我用的是mybatisplus
            System.out.println(empDO);
        }
    }

    三、测试

    (一)文件准备:

    springboot layui hutool Excel导入如何实现

    (二)选择导入文件

    springboot layui hutool Excel导入如何实现

    (三)进入到业务处理

    springboot layui hutool Excel导入如何实现

    相关文章

    WPS零基础入门到精通全套教程!
    WPS零基础入门到精通全套教程!

    全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    硬盘接口类型介绍
    硬盘接口类型介绍

    硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

    989

    2023.10.19

    PHP接口编写教程
    PHP接口编写教程

    本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

    50

    2025.10.17

    php8.4实现接口限流的教程
    php8.4实现接口限流的教程

    PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    200

    2025.12.29

    excel对比两列数据异同
    excel对比两列数据异同

    Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

    1364

    2023.07.25

    excel重复项筛选标色
    excel重复项筛选标色

    excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

    391

    2023.07.31

    excel复制表格怎么复制出来和原来一样大
    excel复制表格怎么复制出来和原来一样大

    本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

    542

    2023.08.02

    excel表格斜线一分为二
    excel表格斜线一分为二

    在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

    1239

    2023.08.02

    excel斜线表头一分为二
    excel斜线表头一分为二

    excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

    363

    2023.08.02

    php源码安装教程大全
    php源码安装教程大全

    本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

    0

    2025.12.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Redis6入门到精通超详细教程
    Redis6入门到精通超详细教程

    共47课时 | 5.1万人学习

    ThinkPHP配置开发与CMS后台实战
    ThinkPHP配置开发与CMS后台实战

    共87课时 | 8.2万人学习

    第二十三期_综合实战
    第二十三期_综合实战

    共89课时 | 6.4万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号