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

vue excel文件下載

這篇具有很好參考價(jià)值的文章主要介紹了vue excel文件下載。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、封裝js文件

這個(gè)文件是utils/index.js文件里面的,后面要用到。

/**
 * @param {Object} json
 * @returns {Array}
 */
export function param(json) {
  if (!json) return ''
  return cleanArray(
    Object.keys(json).map(key => {
      if (json[key] === undefined) return ''
      return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
    })
  ).join('&')
}

二、封裝公用的下載方法

里面可以傳入一些參數(shù)和做了IE瀏覽器的判斷,IE瀏覽器下載的時(shí)候,不能使用a標(biāo)簽,所以如果不做判斷是沒(méi)有反應(yīng)的。

import { param } from '@/utils'
import { getToken, getSid } from '@/utils/auth'

// 請(qǐng)求下載文件
export function blob(url, method = 'GET', data, fileName) {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest()
    if (method.toUpperCase() === 'GET') {
      url = `${url}?${param(data)}`
    }
    xhr.open(method, url, true)
    xhr.setRequestHeader('uiticket', getToken())
    xhr.setRequestHeader('sid', getSid() || '')
    xhr.setRequestHeader('Content-Type', 'application/json')
    xhr.responseType = 'blob'
    xhr.onload = function(data) {
      if (this.status === 200) {
      // 這里做一個(gè)IE瀏覽器的判斷
        if (window.navigator && window.navigator.msSaveBlob) {
          var blobObject = new Blob([this.response]);
          window.navigator.msSaveBlob(blobObject, `${fileName}.xlsx`);
        } else {
          const blob = this.response
          const url = window.URL.createObjectURL(blob)
          const link = document.createElement('a')
          link.href = url
          link.download = fileName
          link.style.display = 'none'
          document.body.appendChild(link)
          link.click()
          window.URL.revokeObjectURL(url)
          document.body.removeChild(link)
          resolve(url)
        }
      } else {
        reject('下載數(shù)據(jù)失?。?)
      }
    }
    if (method.toUpperCase() === 'POST') {
      xhr.send(JSON.stringify(data))
    } else {
      xhr.send()
    }
  })
}

三、在接口中使用

import request from '@/utils/request'
import * as download from '@/utils/download'
// 導(dǎo)出模板
export function exportTemplate(data, fileName) {
  const url = (process.env.ENV === 'production' ? window.location.host + process.env.VUE_APP_BASE_API : process.env.VUE_APP_BASE_API) + 'xxxxxxxxURL'
  return download.blob(url, 'POST', data, fileName)
}

四、在vue項(xiàng)目中使用

大概就是這些。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-565540.html

import { exportTemplate} from '../../api/permission/customCheck'
    handleUploadTemplate() {
      const obj = {}
      this.loading = true
      exportTemplate(obj, '測(cè)試' + new Date().getTime() + '.xlsx').then(response => {
        if (response) {
          this.msgSuccess('導(dǎo)出成功')
          this.loading = false
        } else {
          this.msgError(response.msg)
          this.loading = false
        }
      })
    },

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

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

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

相關(guān)文章

  • vue-cli4前端實(shí)現(xiàn)下載本地Excel模板,以及下載靜態(tài)文件的坑

    vue-cli4前端實(shí)現(xiàn)下載本地Excel模板,以及下載靜態(tài)文件的坑

    a標(biāo)簽的下載功能: 1:bobl ----二進(jìn)制流文件 Blob對(duì)象標(biāo)識(shí)一個(gè)不可變、原始數(shù)據(jù)的類(lèi)文件對(duì)象。Blob表示的不一定是JavaScript原生格式的數(shù)據(jù) 2:responseType responseType它表示服務(wù)器響應(yīng)的數(shù)據(jù)類(lèi)型,由于后臺(tái)返回來(lái)的是二進(jìn)制數(shù)據(jù),所以要把它設(shè)為‘blob’ 通過(guò)設(shè)置responseType為blo

    2024年02月02日
    瀏覽(119)
  • vue+xlsx實(shí)現(xiàn)前端模版下載、導(dǎo)入和導(dǎo)出excel文件

    vue+xlsx實(shí)現(xiàn)前端模版下載、導(dǎo)入和導(dǎo)出excel文件

    產(chǎn)品需求:后端不想寫(xiě)下載,導(dǎo)入和導(dǎo)出的接口,讓我們前端自己實(shí)現(xiàn)。 這里我們就可以用xlsx插件來(lái)實(shí)現(xiàn),我們不多說(shuō)了,先放一下實(shí)現(xiàn)的圖片,下面我們分別把模版下載、導(dǎo)入和導(dǎo)出的代碼放上來(lái),想用的話(huà),直接復(fù)制粘貼即可! 模版下載圖片 導(dǎo)出圖片: 好了,下面我

    2024年02月13日
    瀏覽(93)
  • 前端用 js-file-download組件下載后端返回的pdf,word,excel文件

    后端返回的pdf,word,excel的文件流導(dǎo)出需要讓瀏覽器下載文件 1、安裝js-file-download組件 2、在對(duì)應(yīng)的頁(yè)面引用 3、在接口返回結(jié)果后直接調(diào)用即可

    2024年02月08日
    瀏覽(93)
  • 跨域情況下,vue如何下載后臺(tái)接口提供的application/octet-stream文件流Excel文件

    由于跨域,所以無(wú)法直接通過(guò)window.location.href或者a標(biāo)簽直接下載,直接拼后臺(tái)接口地址又暴露了后臺(tái)地址,不可行。 所以在這種跨域情況下,本章講一下vue如何下載后臺(tái)接口提供的application/octet-stream文件流Excel文件。 實(shí)現(xiàn)前端vue下載后臺(tái)返回的application/octet-stream文件流 1、使

    2024年02月14日
    瀏覽(19)
  • vue如何通過(guò)$http的post方法請(qǐng)求下載二進(jìn)制的Excel文件

    使用此function 使用此function,?test.vue instanceName: \\\"exportExcel\\\",導(dǎo)出excel文件 instanceName: \\\"downloadLog\\\",下載.log后綴的txt文件 封裝接口 代碼中使用:

    2024年01月18日
    瀏覽(32)
  • vue3中將后端傳來(lái)的json文件轉(zhuǎn)成excel下載到本地

    vue3中將后端傳來(lái)的json文件轉(zhuǎn)成excel下載到本地

    ????????在瀏覽器中將JSON格式數(shù)據(jù)以excel文件的形式下載。該組件是基于[this thread] (https://stackoverflow.com/questions/17142427/javascript-to-export-html-table-to-excel)提出的解決方案。支持Vue3.2.25及以上版本使用 重要提示! Microsoft Excel中的額外提示 ????????此組件中實(shí)現(xiàn)的方法使用H

    2024年02月15日
    瀏覽(91)
  • VUE: 將Json (后臺(tái)返回的數(shù)據(jù)-list) 數(shù)據(jù)轉(zhuǎn)換為Excel文件并實(shí)現(xiàn)前端下載

    1. 下載xlsx的包 2. vue中的寫(xiě)法 創(chuàng)建button的按鈕,添加點(diǎn)擊的函數(shù) 寫(xiě)函數(shù) 函數(shù)流程總體來(lái)說(shuō)就是: 將json字符串書(shū)寫(xiě)寫(xiě)入文件,然后轉(zhuǎn)換為blob的對(duì)象,之后通過(guò)文件流的方式傳遞給用戶(hù)下載 其中的 jsonData 可以通過(guò) axios 請(qǐng)求后端傳遞來(lái)的數(shù)據(jù)。

    2024年02月11日
    瀏覽(91)
  • vue中,給一個(gè)URL地址,利用FileSaver.js插件下載文件到本地

    vue中,給一個(gè)URL地址,利用FileSaver.js插件下載文件到本地

    ①首先下載 FileSaver.js 插件??? ②在需要的.vue頁(yè)面引入 ?在HTML中引入 ③ 如果想保存一個(gè)TXT文檔本地 結(jié)果: ? 內(nèi)容: ? ?④ 如果想保存一個(gè)圖片 結(jié)果: ?圖片內(nèi)容: ?如果圖片不允許跨域則會(huì)出現(xiàn)這種情況: ? ⑤下面這個(gè)方法則可以完美的解決跨域問(wèn)題,不光可以下載圖

    2024年02月06日
    瀏覽(119)
  • JavaScript中的文件下載

    在JavaScript中,實(shí)現(xiàn)文件下載的功能可以通過(guò)多種方式實(shí)現(xiàn),以下是一些常見(jiàn)的方法: 方法 1:使用HTML5的a標(biāo)簽 如果你已經(jīng)有了一個(gè)文件的URL,可以簡(jiǎn)單地使用一個(gè) a 標(biāo)簽并設(shè)置download屬性。這可以通過(guò)JavaScript動(dòng)態(tài)創(chuàng)建: 方法 2:使用Blob和Object URL 如果你需要下載的數(shù)據(jù)是在

    2024年01月22日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包