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

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

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

實現(xiàn)效果

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

  • 頁面列表數(shù)據(jù)導出
  • 接口返回數(shù)據(jù)導出

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

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

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

解決方法步驟拆解

步驟一:解碼

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

寫法1:

// 導出
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' })
// 在請求的后面加一行  { responseType: 'blob' }
// 或者   { responseType: 'arraybuffer' }

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

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

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

步驟三:導出表格

步驟一配置完后這里可以直接復制,替換一下請求的接口即可

// 導出完整語法  
const getTable = async () => {
   // 請求導出接口 獲取到后端返回的數(shù)據(jù)
   let list = await getTableInfo(PageInfo);  
   // content = 導出返回的數(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);  // 消除請求接口返回的list數(shù)據(jù)
  };
};

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

相關(guān)文章

  • javascript常用代碼段搜集

    javascript常用代碼段搜集

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

    基于JavaScript介紹性能爆表的SolidJS

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

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

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

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

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

    JavaScript.Encode手動解碼技巧

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

    js判斷undefined變量類型使用typeof

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

    js仿蘋果iwatch外觀的計時器代碼分享

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

    你有必要知道的10個JavaScript難點

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

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

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

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

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

最新評論

新兴县| 建阳市| 东乌| 长泰县| 晋城| 河津市| 乐昌市| 府谷县| 新安县| 青冈县| 绍兴县| 行唐县| 神木县| 徐闻县| 乐陵市| 什邡市| 渝北区| 万年县| 新兴县| 海淀区| 皮山县| 濮阳市| 思茅市| 天津市| 伊川县| 东安县| 广西| 迁安市| 宁夏| 依安县| 广丰县| 万安县| 桂阳县| 昌吉市| 闸北区| 大冶市| 扶风县| 尼木县| 安康市| 夹江县| 北宁市|