国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue前端表格導(dǎo)出Excel文件

這篇具有很好參考價(jià)值的文章主要介紹了Vue前端表格導(dǎo)出Excel文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

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


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

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

一、實(shí)現(xiàn)

1. 頁面

Vue前端表格導(dǎo)出Excel文件

2.代碼

2.1 核心方法

/**
 * 表格數(shù)據(jù)導(dǎo)出Excel實(shí)際方法
 * @param list
 */
const exportList = (list) => {
  //表格表頭,導(dǎo)出表頭
  let tableHeader = [['#', '資產(chǎn)編號', '資產(chǎn)名稱', '資產(chǎn)類別', '資產(chǎn)型號', "資產(chǎn)單價(jià)", "資產(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') // 保存的文件名
}

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

  1. tableHeader 定義表格的表頭(此處并不是很嚴(yán)謹(jǐn),因?yàn)檫€包含了表格的數(shù)據(jù),暫時(shí)為空,后面遍歷時(shí)傳入)。
  2. rowData 是表格具體數(shù)據(jù)內(nèi)容的數(shù)組,遍歷時(shí)傳入。
  3. tableHeader.push(rowData) 將內(nèi)容放入tableHeader中,形成完整的表格數(shù)據(jù)。
  4. let wb = XLSX.utils.book_new() 定義表格實(shí)例。
  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(() => {
          })
}
  1. await request.get(“asset/listAll”) 請求后端接口,拿到結(jié)果。
  2. 將結(jié)果中的集合賦值給提前定義好的list數(shù)組list = res.data.assetsAllList。
  3. 用了MessageBox消息彈框,根據(jù)自己的實(shí)際需求哈
  4. 用到了異步等待,上面的request.get是自己封裝的axios方法

3.演示

Vue前端表格導(dǎo)出Excel文件
Vue前端表格導(dǎo)出Excel文件Vue前端表格導(dǎo)出Excel文件


結(jié)束

以上為全部內(nèi)容,歡迎討論,記錄學(xué)習(xí)!文章來源地址http://www.zghlxwxcb.cn/news/detail-423145.html

到了這里,關(guān)于Vue前端表格導(dǎo)出Excel文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包