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

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

 更新時(shí)間:2022年01月24日 15:49:44   作者:Survivor  
這篇文章主要介紹了如何在Vue中導(dǎo)入Excel文件,文中的示例代碼講解詳細(xì),對(duì)我們學(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中日期問(wèn)題
    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 = {
            序號(hào): "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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要給大家介紹了關(guān)于Vue開(kāi)發(fā)中常見(jiàn)的套路和技巧的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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的解決問(wèn)題

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

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

    webpack中的optimization配置示例詳解

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

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

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

    vue父子組件通信的高級(jí)用法示例

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

    Vue使用provide各種傳值后inject獲取undefined的問(wèn)題及解決

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

    vue組件tabbar使用方法詳解

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

最新評(píng)論

常熟市| 长兴县| 长岭县| 青河县| 阿拉善左旗| 华阴市| 措勤县| 全州县| 洞头县| 二连浩特市| 延津县| 平和县| 温泉县| 内江市| 沂水县| 滕州市| 肥乡县| 柳江县| 阿拉善左旗| 庆阳市| 慈溪市| 望谟县| 磐石市| 米易县| 辽宁省| 阳山县| 沙田区| 郑州市| 阿坝县| 遵化市| 海阳市| 芦山县| 镇宁| 信阳市| 台东市| 泰顺县| 田东县| 固原市| 探索| 呼伦贝尔市| 恩施市|