VUE+Elment-ui怎么实现将table表格数据导出到Excel文件?
在Vue项目中,可以使用el-table
组件展示表格数据,并使用file-saver
和xlsx
库将数据导出为Excel文件。以下是实现这一功能的步骤和示例代码:
- 安装依赖库:
npm install file-saver xlsx -S
- 在Vue组件中引入这些库:
import { saveAs } from 'file-saver';
import { export_json_to_excel } from '../excel/Export2Excel';
- 添加一个方法来处理导出逻辑:
exportExcel() {
/* 假设你的表格数据是从data里的tableData获取的 */
/* 假设el-table的ref设置为my-table */
const wb = XLSX.utils.table_to_book(document.querySelector('#my-table'));
const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
try {
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), '表格数据.xlsx');
} catch (e) { if (typeof console !== 'undefined') console.log(e, wbout); }
return wbout;
}
- 在模板中添加一个按钮来触发导出方法:
<el-button @click="exportExcel">导出到Excel</el-button>
确保你的el-table
组件中的data
属性绑定了你的表格数据,并且表格中的列是正确定义的。
注意:table_to_book
方法可能不适用于含有展开行、树形控制、复选框或者某些自定义单元格的表格。对于这些情况,你可能需要手动创建xlsx
工作簿对象,并填充相应的数据。
评论已关闭