前端导出功能实现

前端导出,不需要调用后台接口后台导出,前端直接实现导出功能

导出table数据

js 引入

  import FileSaver from "file-saver";

  import XLSX from "xlsx";

table id  out-table

<el-table

      id="out-table"

      :data="tableData"

      v-loading="loading"

      style="width: 100%"

      max-height="100%"

      class="dialog-table"

      header-row-class-name="table-header"

      row-class-name="table-row"

    >    </el-table>

<el-button class="search-btn out-btn" @click="leadingOut" type="success">导出</el-button>

js代码  table 的id 需要为 out-table

leadingOut() {

      console.log("点击导出");

      this.loading=true;

      var wb = XLSX.utils.table_to_book(document.querySelector("#out-table"),{raw:true});

      var wbout = XLSX.write(wb, {

        bookType: "xlsx",

        bookSST: true,

        type: "array"

      });

      try {

        FileSaver.saveAs(

          new Blob([wbout], { type: "application/octet-stream" }),

          `${this.title}.xlsx`

        );

         this.loading=false;

      } catch (e) {

        if (typeof console !== "undefined") console.log(e, wbout);

          this.loading=false;

      }

      return wbout;

    },

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容