千家信息网

springboot layui hutool Excel导入如何实现

发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,这篇文章主要介绍了springboot layui hutool Excel导入如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot layui h
千家信息网最后更新 2024年10月25日springboot layui hutool Excel导入如何实现

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

    一、导入依赖

    (一)其他环境准备

    首先前期根据需求需要搭建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")@ResponseBodypublic CommonResult importData(@RequestParam MultipartFile file) {    //调用service方法,这个地方通过MultipartFile参数就可以接收到上传的Excel文件内容了    empService.importTemplate(file);    return CommonResult.success("上传成功");}

    service实现类代码

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

    @Overridepublic 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导入如何实现"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

    0