今天再開發中遇到一件事情,就是怎樣用已有數據導出excel文件,網上有許多方法,有說用數據流的方式,但是現在我的想法是只是用數組數據,不接著與數據流的方式去實現,事實證明是可以的:
1、安裝依賴
//npm npm install -S file-saver xlsx npm install -D script-loader
2、在main.js中進行導入Bolb.js與Export2Excel.js
兩個js文件下載:JS.zip
import Blob from './excel/Blob' import Export2Excel from './excel/Export2Excel.js'
3、在組件中使用
//導出的方法 exportExcel() { require.ensure([], () => { const { export_json_to_excel } = require('../excel/Export2Excel'); const tHeader = ['序號', '昵稱', '姓名']; // 上面設置Excel的表格第一行的標題 const filterVal = ['index', 'nickName', 'name']; // 上面的index、nickName、name是tableData里對象的屬性 const list = this.tableData; //把data里的tableData存到list const data = this.formatJson(filterVal, list); export_json_to_excel(tHeader, data, '列表excel'); }) }, formatJson(filterVal, jsonData) { return jsonData.map(v => filterVal.map(j => v[j]))
tHeader是表頭,filterVal 中的數據是表格的字段,tableData中存放表格里的數據,類型為數組,里面存放對象,表格的每一行為一個對象。
如此,就可以了。