欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn)

 更新時(shí)間:2022年03月31日 16:00:32   作者:厚積博發(fā)  
本文主要介紹了springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、導(dǎo)入依賴

(一)其他環(huán)境準(zhǔn)備

首先前期根據(jù)需求需要搭建springboot+前端的框架,這個(gè)根據(jù)個(gè)人項(xiàng)目來(lái),我是用的springboot+layui。這些不是這里討論的重點(diǎn)。

(二)hutool和Excel導(dǎo)入

<!-- 基本依賴包 -->
<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>

必須推薦一波:

二、核心代碼

(一)前端按鈕

前端代碼不是核心,只是為了一個(gè)思路

//①按鈕
<button id="importData" class="layui-btn">導(dǎo)入</button>
//②//導(dǎo)入 用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;//主要是這個(gè)
        layui.upload.render({
            elem: "#importData",//導(dǎo)入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) {
    //調(diào)用service方法,這個(gè)地方通過(guò)MultipartFile參數(shù)就可以接收到上傳的Excel文件內(nèi)容了
    empService.importTemplate(file);
    return CommonResult.success("上傳成功");
}

service實(shí)現(xiàn)類代碼

說(shuō)明:這里我們接收到file之后,通過(guò)hutool工具中的ExcelUtil工具幫我們解析文件,等到一行一行的數(shù)據(jù),這個(gè)時(shí)候我們只需要映射到我們的實(shí)體類中。這里我只是寫了一個(gè)EmpDO中的兩個(gè)字段,如果業(yè)務(wù)復(fù)雜參考這兩個(gè)字段來(lái)就行了。

@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); 
    // 讀取第二行到最后一行數(shù)據(jù)
    List<List<Object>> read = reader.read(1, reader.getRowCount());
    List<EmpDO> empDOS = new ArrayList<>();
    for (List<Object> objects : read) {
        EmpDO empDO = new EmpDO();
        //讀取某行第一列數(shù)據(jù)
        Object sampleNo = objects.get(0);
        //讀取某行第二列數(shù)據(jù)
        Object sampleName = objects.get(1);
        //員工id
        empDO.setEmpId(Integer.parseInt(sampleNo.toString()));
        //員工姓名
        empDO.setName(sampleName.toString());
        empDOS.add(empDO);
        //這里沒(méi)有做數(shù)據(jù)插入到數(shù)據(jù)庫(kù)的操作,我用的是mybatisplus
        System.out.println(empDO);
    }
}

三、測(cè)試

(一)文件準(zhǔn)備:

(二)選擇導(dǎo)入文件

在這里插入圖片描述

(三)進(jìn)入到業(yè)務(wù)處理

在這里插入圖片描述

 到此這篇關(guān)于springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot layui hutool Excel導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven分模塊開(kāi)發(fā)執(zhí)行指令失敗的問(wèn)題

    Maven分模塊開(kāi)發(fā)執(zhí)行指令失敗的問(wèn)題

    Maven分模塊開(kāi)發(fā),行指令失敗,modules.module[3]‘ specifies duplicate child module maven_dao @ line 29, column 1的問(wèn)題,本文給大家分享解決方法,感興趣的朋友跟隨小編一起看看吧
    2020-09-09
  • maven項(xiàng)目在實(shí)踐中的構(gòu)建管理之路的方法

    maven項(xiàng)目在實(shí)踐中的構(gòu)建管理之路的方法

    這篇文章主要介紹了maven項(xiàng)目在實(shí)踐中的構(gòu)建管理之路的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案

    Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案

    這篇文章主要介紹了Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

    Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ)

    這篇文章主要介紹了Java IO流學(xué)習(xí)總結(jié)之文件傳輸基礎(chǔ),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java io流的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java 整合模板徹底解決ssm配置難題

    Java 整合模板徹底解決ssm配置難題

    SSM框架是spring MVC ,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理,spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎
    2021-10-10
  • 詳解java開(kāi)發(fā)webservice的幾種方式

    詳解java開(kāi)發(fā)webservice的幾種方式

    webservice的應(yīng)用已經(jīng)越來(lái)越廣泛了,下面介紹幾種在Java體系中開(kāi)發(fā)webservice的方式,有興趣的可以了解一下。
    2016-11-11
  • Java實(shí)現(xiàn)Redis延時(shí)消息隊(duì)列

    Java實(shí)現(xiàn)Redis延時(shí)消息隊(duì)列

    本文主要介紹了Java實(shí)現(xiàn)Redis延時(shí)消息隊(duì)列,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java線程池隊(duì)列PriorityBlockingQueue和SynchronousQueue詳解

    Java線程池隊(duì)列PriorityBlockingQueue和SynchronousQueue詳解

    這篇文章主要為大家介紹了Java線程池隊(duì)列PriorityBlockingQueue和SynchronousQueue詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Java實(shí)現(xiàn)圖章或簽名插在pdf的固定位置

    Java實(shí)現(xiàn)圖章或簽名插在pdf的固定位置

    使用Java技術(shù)在word轉(zhuǎn)換成pdf過(guò)程中實(shí)現(xiàn)將圖章或者簽名插入在pdf中,并生成帶圖章或者簽名的pdf,來(lái)完成某些特定場(chǎng)景的需求,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-10-10
  • IntelliJ IDEA中出現(xiàn)

    IntelliJ IDEA中出現(xiàn)"PSI and index do not match"錯(cuò)誤的解決辦法

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中出現(xiàn)"PSI and index do not match"錯(cuò)誤的解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10

最新評(píng)論