<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Vue導(dǎo)出復(fù)雜excel表格(適用于ElementUI、Iview)

       

       

      1.安裝依賴

      npm install --save xlsx file-saver

      2.引入依賴到當(dāng)前文件中

      1.  import FileSaver from "file-saver";
      2. import * as XLSX from "xlsx";

      3.導(dǎo)出事件代碼

      exportExcel(excelName) {
      try {
      const $e = this.$refs['tabel'].$el
      let $table = $e.querySelector('.el-table__fixed')
      if(!$table) {
      $table = $e
      }

      const wb = XLSX.utils.table_to_book($table, {raw:true})
      const wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST:true, type: 'array'})
      FileSaver.saveAs(
      new Blob([wbout],{type: 'application/octet-stream'}),
      `${excelName}.xlsx`,
      )
      } catch (e) {
      if (typeof console !== 'undefined') console.error(e)
      }
      },

      4.完整代碼如下(我用的是iview框架,elementui方法一樣):

       

      <template>
      <div class="tabel">
      <div style="text-align: left">
      <Button class="btn-style" @click="exportExcel(123)">導(dǎo)出</Button>
      </div>
      <div class="tabel-con">
      <Table
      :columns="columns11"
      ref="tabel"
      :data="data10"
      border
      height="500"
      ></Table>
      </div>
      </div>
      </template>
      
      <script>
      /* eslint-disable */
      import FileSaver from "file-saver";
      import XLSX from "xlsx";
      
      export default {
      name: "TabelIview",
      components: {},
      data() {
      return {
      columns11: [
      {
      title: 'Name',
      key: 'name',
      align: 'center',
      width: 200,
      fixed: 'left',
      filters: [
      {
      label: 'Joe',
      value: 1
      },
      {
      label: 'John',
      value: 2
      }
      ],
      filterMultiple: false,
      filterMethod (value, row) {
      if (value === 1) {
      return row.name === 'Joe';
      } else if (value === 2) {
      return row.name === 'John Brown';
      }
      }
      },
      {
      title: 'Other',
      align: 'center',
      children: [
      {
      title: 'Age',
      key: 'age',
      align: 'center',
      width: 200,
      sortable: true
      },
      {
      title: 'Address',
      align: 'center',
      children: [
      {
      title: 'Street',
      key: 'street',
      align: 'center',
      width: 200
      },
      {
      title: 'Block',
      align: 'center',
      children: [
      {
      title: 'Building',
      key: 'building',
      align: 'center',
      width: 200,
      sortable: true
      },
      {
      title: 'Door No.',
      key: 'door',
      align: 'center',
      width: 200
      }
      ]
      }
      ]
      }
      ]
      },
      {
      title: 'Company',
      align: 'center',
      children: [
      {
      title: 'Company Address',
      key: 'caddress',
      align: 'center',
      width: 200
      },
      {
      title: 'Company Name',
      key: 'cname',
      align: 'center',
      width: 200
      }
      ]
      },
      {
      title: 'Gender',
      key: 'gender',
      align: 'center',
      width: 200,
      fixed: 'right'
      }
      ],
      data10: []
      };
      },
      methods: {
      exportExcel(excelName) {
      try {
      const $e = this.$refs['tabel'].$el
      let $table = $e.querySelector('.el-table__fixed')
      if(!$table) {
      $table = $e
      }
      
      const wb = XLSX.utils.table_to_book($table, {raw:true})
      const wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST:true, type: 'array'})
      FileSaver.saveAs(
      new Blob([wbout],{type: 'application/octet-stream'}),
      `${excelName}.xlsx`,
      )
      } catch (e) {
      if (typeof console !== 'undefined') console.error(e)
      }
      },
      },
      mounted() {
      this.tableHeight = window.innerHeight - this.$refs.tabel.$el.offsetTop - 50;
      const data = [];
      for (let i = 0; i < 20; i++) {
      data.push({
      key: i,
      name: 'John Brown',
      age: i + 1,
      street: 'Lake Park',
      building: 'C',
      door: 2035,
      caddress: 'Lake Street 42',
      cname: 'SoftLake Co',
      gender: 'M',
      });
      }
      this.data10 = data;
      },
      };
      </script>
      
      <style lang="less" scoped>
      .tabel {
      width: 100%;
      height: calc(100vh - 60px);
      overflow: auto;
      padding: 20px 50px;
      box-sizing: border-box;
      .tabel-con {
      width: 100%;
      height: calc(100vh - 150px);
      padding-top: 15px;
      box-sizing: border-box;
      }
      }
      </style>
      

        

       

      posted @ 2024-02-26 14:28  靜默如初_Aline  閱讀(488)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 美女禁区a级全片免费观看| 亚洲国产成人久久精品APP| 国产精品白丝久久AV网站| 国产美女裸身网站免费观看视频| www国产精品内射熟女| 成人乱人乱一区二区三区| 旌德县| 精品一区二区成人码动漫| 国产在线不卡精品网站| 99福利一区二区视频| 北岛玲中文字幕人妻系列| 亚洲老妇女亚洲老熟女久| 自拍偷拍第一区二区三区| 久久青青草原精品国产app| 五月天天天综合精品无码| 国产精品熟女乱色一区二区| 元码人妻精品一区二区三区9| 国产成人精品无码专区| 国产福利酱国产一区二区| 激情国产一区二区三区四区| 高清中文字幕国产精品| 亚洲色www永久网站| 伊人色综合九久久天天蜜桃| 欧美熟妇乱子伦XX视频| 无码人妻精品丰满熟妇区| 亚洲自拍偷拍福利小视频| 亚洲欧美日韩综合久久久| 昌吉市| 亚洲精品天堂在线观看| 国产SM重味一区二区三区| 日韩人妻无码一区二区三区99| 高清无打码一区二区三区| 亚洲人成18在线看久| 玖玖在线精品免费视频| 国产美女遭强高潮免费| 精品国产AⅤ无码一区二区| 亚洲第一香蕉视频啪啪爽| 粉嫩蜜臀av一区二区三区| 在线无码免费的毛片视频| 粉嫩国产av一区二区三区| 国产中文字幕精品视频|