vue element 导出 分页数据的excel表格

1.安装相关依赖

npm install --save xlsx file-saver

2.导入相关插件

  在组建头部导入相关插件

const FileSaver  = require("file-saver")
const XLSX   = require("xlsx")

3.调用相关的方法

var wb = XLSX.utils.table_to_book(document.querySelector("#tableBox"))
var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
try {
  FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }

4.分页的数据导出

      // 执行下载
      async activeExportOut(){
        // this.ableExportOut = true //设置可以下载
        this.oldtableData = this.tableData //保存起就数据
        await this.setData()
        this.exportOut()
      }, 
      setData(){
        this.tableData = test //赋值新数据        
      },
      //下载表格
      exportOut(){
         var wb = XLSX.utils.table_to_book(document.querySelector("#tableBox"))
         var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
         try {
             FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'sheetjs.xlsx')
         } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }

        //  this.ableExportOut = false //设置不可下载
         this.tableData = this.oldtableData //回复原来说的数据
         return wbout
      }

  

  

 

posted @ 2019-05-02 15:08  练洗之命  阅读(4514)  评论(1编辑  收藏  举报