element ui表格数据导出
时间: 2023-10-20 21:06:44 浏览: 83
Element UI 表格数据导出可以使用第三方库 `xlsx` 和 `file-saver`。
首先安装依赖:
```bash
npm install xlsx file-saver --save
```
然后在需要导出表格数据的组件中,引入依赖:
```javascript
import XLSX from 'xlsx';
import FileSaver from 'file-saver';
```
接着在表格的 `methods` 中定义一个方法来导出数据:
```javascript
exportTable() {
const wb = XLSX.utils.table_to_book(this.$refs.table.$el);
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'table.xlsx');
}
```
这个方法将会把当前表格的数据导出为一个 Excel 文件,并提示用户下载。需要注意的是,这个方法假设你的表格是通过 `ref="table"` 来引用的,如果你的表格是通过其他方式引用的,需要相应地修改代码。
完整的示例代码如下:
```html
<template>
<div>
<el-button type="primary" @click="exportTable">导出表格</el-button>
<el-table ref="table" :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
</div>
</template>
<script>
import XLSX from 'xlsx';
import FileSaver from 'file-saver';
export default {
data() {
return {
tableData: [
{ date: '2020-01-01', name: '张三', address: '北京市海淀区' },
{ date: '2020-01-02', name: '李四', address: '上海市浦东新区' },
{ date: '2020-01-03', name: '王五', address: '广州市天河区' },
],
};
},
methods: {
exportTable() {
const wb = XLSX.utils.table_to_book(this.$refs.table.$el);
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'table.xlsx');
},
},
};
</script>
```
阅读全文