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.
<!-- 基本依赖包 --> <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:
(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: '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() });
(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); } }
(1) Penyediaan fail:
(2) Pilih fail import
(3) Masukkan pemprosesan perniagaan
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!