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

詳解如何實(shí)現(xiàn)在Vue中導(dǎo)入Excel文件

 更新時(shí)間:2022年01月24日 15:49:44   作者:Survivor  
這篇文章主要介紹了如何在Vue中導(dǎo)入Excel文件,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以跟隨小編一起了解一下

以將此Excel導(dǎo)出為json數(shù)據(jù)為例

一、安裝依賴

npm install file-saver --save
npm install xlsx --save
npm install script-loader --save-dev

二、template中

<span>導(dǎo)入表格</span>
<input id="upload" type="file" @change="importfxx()"  accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />

三、script中js代碼

methods:{
   // 處理導(dǎo)入Excel中日期問題
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1);
      time.setYear(time.getFullYear() - 70);
      const year = time.getFullYear() + "";
      const month = time.getMonth() + 1 + "";
      const date = time.getDate() - 1 + "";
      if (format && format.length === 1) {
        return year + format + month + format + date;
      }
      return (
        year +
        (month < 10 ? "0" + month : month) +
        (date < 10 ? "0" + date : date)
      );
    },

    // 導(dǎo)入Excel
    importfxx() {
      let _this = this;
      let f = event.currentTarget.files[0];
      let rABS = false; //是否將文件讀取為二進(jìn)制字符串

      let reader = new FileReader();
      //if (!FileReader.prototype.readAsBinaryString) {
      FileReader.prototype.readAsBinaryString = function (f) {
        let binary = "";
        let rABS = false; //是否將文件讀取為二進(jìn)制字符串
        let wb; //讀取完成的數(shù)據(jù)
        let outdata;
        let reader = new FileReader();
        reader.onload = function (e) {
          let bytes = new Uint8Array(reader.result);
          let length = bytes.byteLength;
          for (let i = 0; i < length; i++) {
            binary += String.fromCharCode(bytes[i]);
          }
          let XLSX = require("xlsx");
          if (rABS) {
            wb = XLSX.read(btoa(fixdata(binary)), {
              //手動(dòng)轉(zhuǎn)化
              type: "base64",
            });
          } else {
            wb = XLSX.read(binary, {
              type: "binary",
            });
          }
          outdata = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]); //outdata就是你想要的東西

          const keyObj = {
            序號: "id",
            情況跟蹤: "track",
            日期: "date",
            標(biāo)題: "title",
            狀態(tài): "status",
            結(jié)果: "result",
            預(yù)警: "warning",
          };

          outdata.forEach((item) => {
            // 將中文的鍵名替換成英文的
            for (let k in keyObj) {
              let newKey = keyObj[k];
              if (newKey) {
                item[newKey] = item[k];
                delete item[k];
              }
            }
            item["date"] = _this.formatDate(item["date"], "-");
          });
          console.log(outdata);
        };
        reader.readAsArrayBuffer(f);
      };
      if (rABS) {
        reader.readAsArrayBuffer(f);
      } else {
        reader.readAsBinaryString(f);
      }
    },
}

如上操作之后,打印結(jié)果是如下

到此這篇關(guān)于詳解如何實(shí)現(xiàn)在Vue中導(dǎo)入Excel文件的文章就介紹到這了,更多相關(guān)Vue導(dǎo)入Excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue-cli@3.0 插件系統(tǒng)簡析

    Vue-cli@3.0 插件系統(tǒng)簡析

    Vue-cli@3.0 是一個(gè)全新的 Vue 項(xiàng)目腳手架。這篇文章主要介紹了Vue-cli@3.0 插件系統(tǒng)簡析,需要的朋友可以參考下
    2018-09-09
  • Vue3+Element Plus進(jìn)行圖片加載優(yōu)化全攻略

    Vue3+Element Plus進(jìn)行圖片加載優(yōu)化全攻略

    在Web開發(fā)中,未優(yōu)化的圖片會(huì)導(dǎo)致很多問題,本文將為大家介紹一下Vue3如何通過Element Plus進(jìn)行圖片加載優(yōu)化,希望對大家有所幫助
    2025-03-03
  • Vue開發(fā)中常見的套路和技巧總結(jié)

    Vue開發(fā)中常見的套路和技巧總結(jié)

    這篇文章主要給大家介紹了關(guān)于Vue開發(fā)中常見的套路和技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解Vue中的filter與directive

    詳解Vue中的filter與directive

    這篇文章主要介紹了Vue中的filter與directive的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-05-05
  • vue獲取v-for異步數(shù)據(jù)dom的解決問題

    vue獲取v-for異步數(shù)據(jù)dom的解決問題

    這篇文章主要介紹了vue獲取v-for異步數(shù)據(jù)dom的解決問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • webpack中的optimization配置示例詳解

    webpack中的optimization配置示例詳解

    這篇文章主要介紹了webpack中的optimization配置詳解,主要就是根據(jù)不同的策略來分割打包出來的bundle,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • setup+ref+reactive實(shí)現(xiàn)vue3響應(yīng)式功能

    setup+ref+reactive實(shí)現(xiàn)vue3響應(yīng)式功能

    這篇文章介紹了通過setup+ref+reactive實(shí)現(xiàn)vue3響應(yīng)式功能,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • vue父子組件通信的高級用法示例

    vue父子組件通信的高級用法示例

    這篇文章主要給大家介紹了關(guān)于vue父子組件通信的高級用法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Vue使用provide各種傳值后inject獲取undefined的問題及解決

    Vue使用provide各種傳值后inject獲取undefined的問題及解決

    這篇文章主要介紹了Vue使用provide各種傳值后inject獲取undefined的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件tabbar使用方法詳解

    vue組件tabbar使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue組件tabbar使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

离岛区| 凤庆县| 静乐县| 泌阳县| 池州市| 花莲县| 加查县| 麻阳| 马关县| 绥棱县| 沁阳市| 乌兰县| 平舆县| 民权县| 河北省| 阿巴嘎旗| 南靖县| 百色市| 平乐县| 庆阳市| 乐清市| 克什克腾旗| 普兰店市| 万年县| 怀安县| 芷江| 岑巩县| 九寨沟县| 红原县| 本溪市| 澄城县| 贵阳市| 鄂尔多斯市| 辛集市| 雷波县| 福安市| 聂拉木县| 卢氏县| 定州市| 水城县| 长白|