温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

springboot layui hutool Excel导入如何实现

发布时间:2022-04-01 10:22:36 来源:亿速云 阅读:357 作者:iii 栏目:开发技术

这篇文章主要介绍了springboot layui hutool Excel导入如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot layui hutool Excel导入如何实现文章都会有所收获,下面我们一起来看看吧。

    一、导入依赖

    (一)其他环境准备

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

    (二)hutool和Excel导入

    <!-- 基本依赖包 -->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.3.8</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.0.0</version>
    </dependency>

    必须推荐一波:

    二、核心代码

    (一)前端按钮

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

    //①按钮
    <button id="importData" class="layui-btn">导入</button>
    //②//导入 用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中的两个字段,如果业务复杂参考这两个字段来就行了。

    @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<List<Object>> read = reader.read(1, reader.getRowCount());
        List<EmpDO> empDOS = new ArrayList<>();
        for (List<Object> 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导入如何实现

    关于“springboot layui hutool Excel导入如何实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“springboot layui hutool Excel导入如何实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI