最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Vue+SpringBoot應(yīng)用中實(shí)現(xiàn)導(dǎo)入導(dǎo)出excel表功能全過(guò)程

 更新時(shí)間:2025年10月09日 10:55:06   作者:江小白12138  
這篇文章主要介紹了如何在Vue+SpringBoot應(yīng)用中實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出功能,前端分三步下載模板、上傳文件、調(diào)用接口,后端通過(guò)FastExcel讀取數(shù)據(jù)并調(diào)用UserDao插入,使用/user/importUsers接口完成數(shù)據(jù)交互,需要的朋友可以參考下

如何在Vue+SpringBoot應(yīng)用中導(dǎo)入導(dǎo)出excel表

今天,人超級(jí)好的組長(zhǎng)交給我一個(gè)任務(wù),讓我完成導(dǎo)入導(dǎo)出用戶(hù)列表的功能。

后端

1.控制層寫(xiě)導(dǎo)入導(dǎo)出的接口

2.Service層寫(xiě)導(dǎo)入導(dǎo)出的具體方法

以下是導(dǎo)入數(shù)據(jù)的代碼,要用到FastExcel讀取數(shù)據(jù)后,再調(diào)用UserDao進(jìn)行數(shù)據(jù)的插入

public ResponseDTO<String> importUsers(MultipartFile file){
    List<UserImportForm> dataList;
    try{
        dataList = FastExcel.read(file.getInputStream()).head(UserImportForm.class)
                .sheet()
                .doReadSync();
        for(UserImportForm userImportForm:dataList){
            UserEntity userEntity = SmartBeanUtil.copy(userImportForm,UserEntity.class);
            userDao.insert(userEntity);
        }
    }catch(IOException e){
        log.error(e.getMessage(),e);
        throw new BusinessException("數(shù)據(jù)格式存在問(wèn)題,無(wú)法讀取");
    }
    if(CollectionUtils.isEmpty(dataList)){
        return ResponseDTO.userErrorParam("數(shù)據(jù)為空");
    }
    return ResponseDTO.okMsg("成功導(dǎo)入"+dataList.size()+"條,具體數(shù)據(jù)為:"+ JSON.toJSONString(dataList));
}

前端

1.分為三步

2.第一步下載模板

<a-button @click="downloadExcel"> <download-outlined />第一步:下載模板</a-button>

直接將excel表單放在static文件夾下就可以了,前端就可以直接下載表單

function downloadExcel(){
  window.open('http://localhost:1024/user.xlsx');
}

3.第二步選擇文件

4.第三步開(kāi)始導(dǎo)入

<a-button @click="onImportUsers">
  <ImportOutlined />
  第三步:開(kāi)始導(dǎo)入
</a-button>

中間調(diào)用后端提供的接口/user/importUsers就可

async function onImportUsers(){
  const formData = new FormData();
  fileList.value.forEach((file)=>{
    formData.append('file',file.originFileObj);
  });
  SmartLoading.show();
  try{
    let res = await userApi.importUsers(formData);
    message.success(res.msg);
  }catch(e){
    smartSentry.captureError(e);
  }finally {
    SmartLoading.hide();
  }
}

以上就是在Vue+SpringBoot應(yīng)用中實(shí)現(xiàn)導(dǎo)入導(dǎo)出excel表功能全過(guò)程的詳細(xì)內(nèi)容,更多關(guān)于Vue SpringBoot導(dǎo)入導(dǎo)出excel表的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue Element前端應(yīng)用開(kāi)發(fā)之菜單資源管理

    Vue Element前端應(yīng)用開(kāi)發(fā)之菜單資源管理

    在權(quán)限管理系統(tǒng)中,菜單也屬于權(quán)限控制的一個(gè)資源,屬于角色控制的一環(huán)。不同角色用戶(hù),登錄系統(tǒng)后,出現(xiàn)的系統(tǒng)菜單是不同的。菜單結(jié)合路由集合,實(shí)現(xiàn)可訪(fǎng)問(wèn)路由的過(guò)濾,也就實(shí)現(xiàn)了對(duì)應(yīng)角色菜單的展示和可訪(fǎng)問(wèn)路由的控制。
    2021-05-05
  • 基于Vue3制作簡(jiǎn)單的消消樂(lè)游戲

    基于Vue3制作簡(jiǎn)單的消消樂(lè)游戲

    這篇文章主要為大家介紹了如何利用Vue3制作簡(jiǎn)單的消消樂(lè)游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-05-05
  • vue組件講解(is屬性的用法)模板標(biāo)簽替換操作

    vue組件講解(is屬性的用法)模板標(biāo)簽替換操作

    這篇文章主要介紹了vue組件講解(is屬性的用法)模板標(biāo)簽替換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vue3如何配置多級(jí)代理

    Vue3如何配置多級(jí)代理

    這篇文章主要介紹了Vue3如何配置多級(jí)代理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 詳解用vue編寫(xiě)彈出框組件

    詳解用vue編寫(xiě)彈出框組件

    本篇文章主要介紹了詳解用vue編寫(xiě)彈出框組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Vue中@click.native的使用方法及場(chǎng)景

    Vue中@click.native的使用方法及場(chǎng)景

    在組件中時(shí)??吹紷click.native,在項(xiàng)目中遇到后,簡(jiǎn)單介紹下,這篇文章主要給大家介紹了關(guān)于Vue中@click.native的使用方法及場(chǎng)景的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Vue實(shí)現(xiàn)兩個(gè)列表之間的數(shù)據(jù)聯(lián)動(dòng)的代碼示例

    Vue實(shí)現(xiàn)兩個(gè)列表之間的數(shù)據(jù)聯(lián)動(dòng)的代碼示例

    在Vue.js應(yīng)用開(kāi)發(fā)中,列表數(shù)據(jù)的聯(lián)動(dòng)是一個(gè)常見(jiàn)的需求,這種聯(lián)動(dòng)可以用于多種場(chǎng)景,例如過(guò)濾篩選、關(guān)聯(lián)選擇等,本文將詳細(xì)介紹如何在Vue項(xiàng)目中實(shí)現(xiàn)兩個(gè)列表之間的數(shù)據(jù)聯(lián)動(dòng),并通過(guò)多個(gè)具體的代碼示例來(lái)幫助讀者理解其實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下
    2024-10-10
  • vue3打包h5平板每次都要清緩存的問(wèn)題及解決

    vue3打包h5平板每次都要清緩存的問(wèn)題及解決

    這篇文章主要介紹了vue3打包h5平板每次都要清緩存的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-09-09
  • vue實(shí)現(xiàn)倒計(jì)時(shí)獲取驗(yàn)證碼效果

    vue實(shí)現(xiàn)倒計(jì)時(shí)獲取驗(yàn)證碼效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)倒計(jì)時(shí)獲取驗(yàn)證碼效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析

    defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析

    這篇文章主要介紹了defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07

最新評(píng)論

惠州市| 郎溪县| 唐山市| 凤翔县| 孝义市| 浮山县| 黔东| 宜兴市| 临安市| 兴山县| 望谟县| 安龙县| 荆州市| 时尚| 深州市| 鹿泉市| 常宁市| 呼玛县| 屏东县| 甘孜县| 汉寿县| 大连市| 邻水| 肥东县| 任丘市| 信阳市| 高尔夫| 电白县| 历史| 山东省| 托里县| 沈丘县| 木里| 田阳县| 中超| 武冈市| 温宿县| 鄂伦春自治旗| 宁南县| 交口县| 太仆寺旗|