vue2.0 + element UI 中 el-table 数据导出Excel (多级表格适用,无分页版)

1、 安装相关依赖

npm install --save xlsx file-saver

2、组件里头引入

import FileSaver from 'file-saver'
import XLSX from 'xlsx'

3、组件methods里写一个方法

   exportExcel () {
         /* generate workbook object from table */
         var wb = XLSX.utils.table_to_book(document.querySelector('#outTable'))
         /* get binary string as output */
         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) }
         return wbout
     },

注意XLSX.uitls.table_to_book( 放入的是table 的DOM 节点 ) ,sheetjs.xlsx 即为导出表格的名字,可修改!

4.表格代码

<el-table   id=“outTable” :data="jqData" style="width: 100%" max-height="700" show-summary>
</el-table>

5.导出按钮添加点击事件,执行exportExcel()方法

<el-button type="primary" @click="exportExcel()">导出</el-button>

  

贴下项目使用代码,项目内使用的是多级表头的表格,同样适用

父组件内

 

 子组件 表格组件3(多级表头表格)

猜你喜欢

转载自www.cnblogs.com/chr506029589/p/11454154.html