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

JS實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題解決詳解

 更新時(shí)間:2023年07月27日 10:28:38   作者:DCodes  
這篇文章主要為大家詳細(xì)介紹了JavaScript如何調(diào)用后臺(tái)接口實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題的解決辦法,需要的小伙伴可以參考一下

實(shí)現(xiàn)效果

在導(dǎo)出表格數(shù)據(jù)的時(shí)候,通常分為兩種情況

  • 頁面列表數(shù)據(jù)導(dǎo)出
  • 接口返回?cái)?shù)據(jù)導(dǎo)出

這里主要介紹接口返回?cái)?shù)據(jù)導(dǎo)出,關(guān)于頁面的列表數(shù)據(jù)導(dǎo)出,請(qǐng)看另一篇:vue3+element表格數(shù)據(jù)導(dǎo)出

接口返回?cái)?shù)據(jù)導(dǎo)出,通常需要請(qǐng)求后端接口獲取數(shù)據(jù),接口返回的數(shù)據(jù)基本上是亂碼的,需要先處理亂碼的數(shù)據(jù),否則導(dǎo)出來的文件是損壞的,如下

看到這種返回信息,表格數(shù)據(jù)基本上是已經(jīng)拿到了,現(xiàn)在只需要做一下數(shù)據(jù)的處理即可導(dǎo)出表格。

解決方法步驟拆解

步驟一:解碼

在請(qǐng)求接口的位置添加 { responseType: 'blob' } 將信息轉(zhuǎn)碼,此處有兩種寫法:

寫法1:

// 導(dǎo)出
export function userTable(params) {
    return request({
        url: '/users/table',
        method: 'get',
        params,
        responseType: 'blob'   // 添加 blob 解決亂碼問題,或者 arraybuffer
    })
}

寫法2:

export const userTable = (params) => axios.get('/users/table',{params},{ responseType: 'blob' })
// 在請(qǐng)求的后面加一行  { responseType: 'blob' }
// 或者   { responseType: 'arraybuffer' }

步驟二:請(qǐng)求數(shù)據(jù)

  // 導(dǎo)出  
const getTable = async () => {
   // 請(qǐng)求導(dǎo)出接口 獲取到后端返回的數(shù)據(jù)
   let list = await getTableInfo(PageInfo);  
   console.log(list)
};

此處得到的返回結(jié)果已經(jīng)成功編譯,打印的結(jié)果如圖所示:

步驟三:導(dǎo)出表格

步驟一配置完后這里可以直接復(fù)制,替換一下請(qǐng)求的接口即可

// 導(dǎo)出完整語法  
const getTable = async () => {
   // 請(qǐng)求導(dǎo)出接口 獲取到后端返回的數(shù)據(jù)
   let list = await getTableInfo(PageInfo);  
   // content = 導(dǎo)出返回的數(shù)據(jù)
  let content = list;  
  let data = new Blob([content], {
    type: "application/vnd.ms-excel;charset=utf-8"
  });
  let downloadUrl = window.URL.createObjectURL(data);
  let anchor = document.createElement("a");
  anchor.href = downloadUrl;
  anchor.download = "表格名稱.xlsx"; // 表格名稱.文件類型
  anchor.click();
  window.URL.revokeObjectURL(list);  // 消除請(qǐng)求接口返回的list數(shù)據(jù)
  };
};

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

相關(guān)文章

  • javascript常用代碼段搜集

    javascript常用代碼段搜集

    這篇文章主要記錄了本人搜集的幾段javascript常用代碼段,都是平時(shí)項(xiàng)目中需要用到的,需要的朋友可以參考下
    2014-12-12
  • 基于JavaScript介紹性能爆表的SolidJS

    基于JavaScript介紹性能爆表的SolidJS

    這篇文章主要介紹了基于JavaScript介紹性能爆表的SolidJS,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • 微信小程序 確認(rèn)框的實(shí)現(xiàn)(附代碼)

    微信小程序 確認(rèn)框的實(shí)現(xiàn)(附代碼)

    這篇文章主要介紹了微信小程序 確認(rèn)框的實(shí)現(xiàn)(附代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • javascript中數(shù)組的常用算法深入分析

    javascript中數(shù)組的常用算法深入分析

    這篇文章主要給大家介紹了關(guān)于javascript中數(shù)組的常用算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JavaScript.Encode手動(dòng)解碼技巧

    JavaScript.Encode手動(dòng)解碼技巧

    往往在網(wǎng)頁上有JS加密代碼的解碼方法,但是由于代碼中存在轉(zhuǎn)義字符,無法正確的進(jìn)行解碼。
    2010-07-07
  • js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof可以輕松實(shí)現(xiàn),不了解的朋友可以參考下哈,希望對(duì)你有所幫助
    2013-06-06
  • js仿蘋果iwatch外觀的計(jì)時(shí)器代碼分享

    js仿蘋果iwatch外觀的計(jì)時(shí)器代碼分享

    這篇文章主要介紹了JS+CSS3實(shí)現(xiàn)的類似于蘋果iwatch計(jì)時(shí)器特效,很實(shí)用的代碼,推薦給大家,有需要的小伙伴可以參考下。
    2015-08-08
  • 你有必要知道的10個(gè)JavaScript難點(diǎn)

    你有必要知道的10個(gè)JavaScript難點(diǎn)

    10個(gè)JavaScript難點(diǎn),你可能還不知道,不著急,本文為大家一一列出,一一攻破,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 深入理解JavaScript系列(2) 揭秘命名函數(shù)表達(dá)式

    深入理解JavaScript系列(2) 揭秘命名函數(shù)表達(dá)式

    網(wǎng)上還沒用發(fā)現(xiàn)有人對(duì)命名函數(shù)表達(dá)式進(jìn)去重復(fù)深入的討論,正因?yàn)槿绱?,網(wǎng)上出現(xiàn)了各種各樣的誤解,本文將從原理和實(shí)踐兩個(gè)方面來探討JavaScript關(guān)于命名函數(shù)表達(dá)式的優(yōu)缺點(diǎn)
    2012-01-01
  • 淺談js停止事件冒泡 阻止瀏覽器的默認(rèn)行為(阻止超連接 #)

    淺談js停止事件冒泡 阻止瀏覽器的默認(rèn)行為(阻止超連接 #)

    下面小編就為大家?guī)硪黄獪\談js停止事件冒泡 阻止瀏覽器的默認(rèn)行為(阻止超連接 #)。
    2017-02-02

最新評(píng)論

遂平县| 民权县| 民乐县| 沂南县| 富蕴县| 汤原县| 饶阳县| 叙永县| 噶尔县| 宣化县| 广安市| 延庆县| 喀什市| 革吉县| 安化县| 安庆市| 双江| 剑阁县| 长垣县| 巴中市| 井冈山市| 安福县| 东光县| 施秉县| 慈利县| 德惠市| 石阡县| 柳林县| 陇川县| 郯城县| 永昌县| 龙泉市| 安宁市| 涿州市| 烟台市| 神木县| 玉山县| 黎平县| 栖霞市| 雷州市| 道真|