diff --git a/src/pages/demo/plugins/tableExport/demo.vue b/src/pages/demo/plugins/tableExport/demo.vue index db5341c9..ff74a8f9 100644 --- a/src/pages/demo/plugins/tableExport/demo.vue +++ b/src/pages/demo/plugins/tableExport/demo.vue @@ -49,7 +49,10 @@ export default { }) }, exportExcel () { - this.$export.excel() + this.$export.excel({ + columns: this.table.columns, + data: this.table.data + }) } } } diff --git a/src/plugin/export/index.js b/src/plugin/export/index.js index fc3a6ed1..9646f18e 100644 --- a/src/plugin/export/index.js +++ b/src/plugin/export/index.js @@ -27,12 +27,19 @@ export default { }) }, // 导出 Excel - excel () { - const tHeader = ['Id', 'Title', 'Author', 'Readings', 'Date'] - const data = [ - ['1', 'name'] - ] - Excel.export_json_to_excel(tHeader, data, 'demo') + excel (params) { + // 默认值 + const paramsDefault = { + columns: [], + data: [] + } + // 合并参数 + const _params = Object.assign({}, paramsDefault, params) + // 从参数中派生数据 + const header = _params.columns.map(e => e.label) + const data = _params.data.map(row => _params.columns.map(col => row[col.prop])) + // 导出 Excel + Excel.export_json_to_excel(header, data, 'demo') } } }