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

Vue前端表格導(dǎo)出Excel文件的圖文教程

 更新時間:2023年04月24日 12:01:15   作者:Amazing_time  
我們在開發(fā)的時候會經(jīng)常用的導(dǎo)出excel表格功能,剛好自己開發(fā)有遇到,就記錄一下,下面這篇文章主要給大家介紹了關(guān)于Vue前端表格導(dǎo)出Excel文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

分享一個Vue前端導(dǎo)出Excel文件的方法。記錄學習!

功能需求:將表格的全部數(shù)據(jù)導(dǎo)出Excel格式的文件
前端:Vue3+Element-Plus

這個導(dǎo)出方法全部為前端操作,后端只需要傳入表格數(shù)據(jù)到前端即可(基礎(chǔ)的多表查詢,用的內(nèi)連接)

一、實現(xiàn)

1. 頁面

2.代碼

2.1 核心方法

/**
 * 表格數(shù)據(jù)導(dǎo)出Excel實際方法
 * @param list
 */
const exportList = (list) => {
  //表格表頭,導(dǎo)出表頭
  let tableHeader = [['#', '資產(chǎn)編號', '資產(chǎn)名稱', '資產(chǎn)類別', '資產(chǎn)型號', "資產(chǎn)單價", "資產(chǎn)金額",
    "生產(chǎn)廠家", "生產(chǎn)日期", "購買日期", "購買人", "狀態(tài)", "庫存數(shù)量"]]
  list.forEach((item, index) => {
    let rowData = []
    //導(dǎo)出內(nèi)容的字段
    rowData = [
      index + 1,
      item.zcbh,
      item.zcmc,
      item.name,
      item.zcxh,
      item.zcdj,
      item.zcje,
      item.sccj,
      currencyFormatDate(item.scrq),
      currencyFormatDate(item.gmrq),
      item.gmr,
      item.sts,
      item.kcsl,
    ]
    tableHeader.push(rowData)
  })
  let wb = XLSX.utils.book_new()
  let ws = XLSX.utils.aoa_to_sheet(tableHeader)
  XLSX.utils.book_append_sheet(wb, ws, '資產(chǎn)設(shè)備基本信息') // 工作簿名稱
  XLSX.writeFile(wb, '資產(chǎn)設(shè)備基本信息.xlsx') // 保存的文件名
}

將這個導(dǎo)出方法單獨封裝出來,帶一個參數(shù),即需要導(dǎo)出的所有數(shù)據(jù)的List集合,那么在調(diào)用的時候傳參即可使用。

  1. tableHeader 定義表格的表頭(此處并不是很嚴謹,因為還包含了表格的數(shù)據(jù),暫時為空,后面遍歷時傳入)。
  2. rowData 是表格具體數(shù)據(jù)內(nèi)容的數(shù)組,遍歷時傳入。
  3. tableHeader.push(rowData) 將內(nèi)容放入tableHeader中,形成完整的表格數(shù)據(jù)。
  4. let wb = XLSX.utils.book_new() 定義表格實例。
  5. let ws = XLSX.utils.aoa_to_sheet(tableHeader) 創(chuàng)建工作簿,將表格內(nèi)容放入工作簿。

2.2 調(diào)用方法

/**
 * 表格數(shù)據(jù)導(dǎo)出Excel調(diào)用方法
 */
const exportExcel = () => {
  ElMessageBox.confirm(
          '確定導(dǎo)出資產(chǎn)設(shè)備基本信息表嗎?',
          '提示',
          {
            confirmButtonText: '確定',
            cancelButtonText: '取消',
            type: 'warning',
          }
  )
          .then(async () => {
            let list = [];
            const res = await request.get("asset/listAll");
            console.log(res)
            list = res.data.assetsAllList
            exportList(list);
            if (res.data.code === 200) {
              ElMessage({
                type: 'success',
                message: '即刻開始下載',
              })
            }
          })
          .catch(() => {
          })
}

await request.get(“asset/listAll”) 請求后端接口,拿到結(jié)果。將結(jié)果中的集合賦值給提前定義好的list數(shù)組list = res.data.assetsAllList。用了MessageBox消息彈框,根據(jù)自己的實際需求哈用到了異步等待,上面的request.get是自己封裝的axios方法 3.演示

結(jié)束

到此這篇關(guān)于Vue前端表格導(dǎo)出Excel文件的文章就介紹到這了,更多相關(guān)Vue前端表格導(dǎo)出Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3使用Pinia的store的組件化開發(fā)模式詳解

    vue3使用Pinia的store的組件化開發(fā)模式詳解

    這篇文章主要介紹了vue3使用Pinia的store的組件化開發(fā)模式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue中Axios的封裝和API接口的管理示例詳解

    vue中Axios的封裝和API接口的管理示例詳解

    這篇文章主要介紹了vue中Axios的封裝和API接口的管理,主要目的就是在幫助我們簡化代碼和利于后期的更新維護,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Vue.js教程之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)膶W習實踐

    Vue.js教程之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)膶W習實踐

    這篇文章主要給大家介紹了Vue.js之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)南嚓P(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟隨小編一起來學習學習吧。
    2017-04-04
  • 使用canvas實現(xiàn)一個vue彈幕組件功能

    使用canvas實現(xiàn)一個vue彈幕組件功能

    這篇文章主要介紹了使用canvas實現(xiàn)一個vue彈幕組件功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • 詳解如何創(chuàng)建基于vite的vue項目

    詳解如何創(chuàng)建基于vite的vue項目

    vite 這個是尤大開發(fā)的新工具,目的是以后替代webpack,下面這篇文章主要給大家介紹了關(guān)于如何創(chuàng)建基于vite的vue項目的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • vue中i18n的安裝與幾種使用方式詳解

    vue中i18n的安裝與幾種使用方式詳解

    在一些網(wǎng)站經(jīng)常可以看到切換語言包,將網(wǎng)站轉(zhuǎn)化成多種語言版本的情況,下面這篇文章主要給大家介紹了關(guān)于vue中i18n的安裝與幾種使用方式的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • vue頁面使用js實現(xiàn)前端打印功能

    vue頁面使用js實現(xiàn)前端打印功能

    這篇文章主要介紹了vue頁面使用js實現(xiàn)前端打印功能,文中通過圖文結(jié)合的方式給大家講解的非常詳細,對大家實現(xiàn)打印功能有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • vue3中組件傳值的多種方法總結(jié)

    vue3中組件傳值的多種方法總結(jié)

    學習過vue2的寶子們肯定知道,組件傳值是vue項目開發(fā)過程中必不可少的功能場景,下面這篇文章主要給大家介紹了關(guān)于vue3中組件傳值的多種方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • vue-cli如何引入bootstrap工具的方法

    vue-cli如何引入bootstrap工具的方法

    本篇文章主要介紹了vue-cli如何引入bootstrap工具的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue?cli使用iview自定義主題遇到的坑及解決

    vue?cli使用iview自定義主題遇到的坑及解決

    vue?cli使用iview自定義主題遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論

安西县| 镇江市| 崇明县| 上高县| 昭苏县| 肇源县| 龙口市| 湖南省| 许昌市| 洪湖市| 绍兴县| 克山县| 昌江| 额敏县| 玉林市| 江西省| 怀化市| 长乐市| 阿城市| 墨竹工卡县| 闽清县| 平安县| 洱源县| 金溪县| 子洲县| 定南县| 仁怀市| 葫芦岛市| 清徐县| 广元市| 临海市| 永宁县| 安徽省| 丰都县| 晋州市| 西林县| 华蓥市| 大城县| 沛县| 芒康县| 临城县|