Rumah  >  Artikel  >  Java  >  Bagaimana untuk melaksanakan import springboot layui hutool Excel

Bagaimana untuk melaksanakan import springboot layui hutool Excel

WBOY
WBOYke hadapan
2023-05-14 17:04:171589semak imbas

    1. Import dependensi

    (1) Persediaan persekitaran lain

    Pertama, bina rangka kerja springboot+front-end mengikut keperluan di peringkat awal Ini berdasarkan Untuk projek peribadi, saya menggunakan springboot+layui. Ini bukan fokus perbincangan di sini.

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

    Mesti mengesyorkan:

    2 Kod teras

    (1) Butang hujung hadapan

    Kod hadapan bukan teras, hanya untuk idea

    //①按钮
    <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) Kod hujung belakang

    antara muka pengawal

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

    kod kelas pelaksanaan perkhidmatan

    Penjelasan : Selepas kami menerima fail di sini, kami menggunakan alat ExcelUtil dalam alat hutool untuk membantu kami menghuraikan fail dan tunggu sehingga data adalah baris demi baris Pada masa ini, kami hanya perlu memetakannya kelas entiti kami. Di sini saya hanya menulis dua bidang dalam EmpDO Jika perniagaannya rumit, rujuk sahaja dua bidang ini.

    @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. Ujian

    (1) Penyediaan fail:

    Bagaimana untuk melaksanakan import springboot layui hutool Excel

    (2) Pilih fail import

    Bagaimana untuk melaksanakan import springboot layui hutool Excel

    (3) Masukkan pemprosesan perniagaan

    Bagaimana untuk melaksanakan import springboot layui hutool Excel

    Atas ialah kandungan terperinci Bagaimana untuk melaksanakan import springboot layui hutool Excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam