一、導入依賴
(一)其他環境準備
首先前期根據需求需要建立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導入如何實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文解釋了用於構建分佈式應用程序的Java的遠程方法調用(RMI)。 它詳細介紹了接口定義,實現,註冊表設置和客戶端調用,以解決網絡問題和安全性等挑戰。

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我

本文詳細介紹了創建自定義Java網絡協議。 它涵蓋協議定義(數據結構,框架,錯誤處理,版本控制),實現(使用插座),數據序列化和最佳實踐(效率,安全性,維護


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3漢化版
中文版,非常好用