Maison  >  Article  >  Java  >  Comment implémenter l'importation Excel de Springboot Layui Hutool

Comment implémenter l'importation Excel de Springboot Layui Hutool

WBOY
WBOYavant
2023-05-14 17:04:171546parcourir

    1. Importer les dépendances

    (1) Autres préparations de l'environnement

    Tout d'abord, construisez le framework springboot+front-end en fonction des besoins au début. Ceci est basé sur un projet personnel que j'ai utilisé springboot+. layui. Ce n’est pas là l’objet de la discussion ici.

    (2) import hutool et 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>

    je dois recommander :

    2. Code de base

    (1) Bouton front-end

    Le code front-end n'est pas le noyau, juste pour une idée

    //①按钮
    <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: &#39;3072&#39;,
                accept: "file",
                exts: &#39;xls|xlsx|xlsm|xlt|xltx|xltm&#39;,
                done: function (result) {
                    if (result.status == 0) {
                        parent.layui.table.reload(&#39;LAY-app-emp-list&#39;);
                    }
                    if (result.message != null) {
                        parent.layui.table.reload(&#39;LAY-app-emp-list&#39;);
                        layer.msg(result.message)
                    }
                }
            });
            // refreshTable()
        });

    ( 2) Code back-end

    interface du contrôleur

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

    code de classe d'implémentation du service

    Explication : Après avoir reçu le fichier ici, nous utilisons l'outil ExcelUtil dans l'outil hutool pour nous aider à analyser le fichier et attendons que les données soient ligne par ligne. Pour le moment, il nous suffit de le mapper à notre classe d'entité. Ici, je viens d'écrire deux champs dans EmpDO. Si l'affaire est compliquée, référez-vous simplement à ces deux champs.

    @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);
        }
    }

    3. Test

    (1) Préparation du fichier :

    Comment implémenter limportation Excel de Springboot Layui Hutool

    (2) Sélectionnez le fichier d'import

    Comment implémenter limportation Excel de Springboot Layui Hutool

    (3) Saisissez le traitement commercial

    Comment implémenter limportation Excel de Springboot Layui Hutool

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer