vue表格数据导出excel表格
时间: 2023-10-08 08:13:45 浏览: 45
你可以使用以下步骤在 Vue 中导出 Excel 表格:
1. 安装 `xlsx` 和 `file-saver` 库:
```bash
npm install xlsx file-saver --save
```
2. 在 Vue 组件中引入这两个库:
```javascript
import XLSX from 'xlsx';
import FileSaver from 'file-saver';
```
3. 创建一个方法来实现导出 Excel 表格的逻辑:
```javascript
exportExcel() {
const worksheet = XLSX.utils.json_to_sheet(this.tableData);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
const data = new Blob([excelBuffer], { type: 'application/octet-stream' });
FileSaver.saveAs(data, 'table.xlsx');
}
```
在上面的代码中,我们首先将表格数据转换成工作表对象,然后将工作表对象添加到工作簿对象中。接着,我们使用 `XLSX.write` 方法将工作簿对象转换成 Excel 文件的二进制数据。最后,我们将二进制数据保存到 `Blob` 对象中,并使用 `FileSaver.saveAs` 方法将其保存为 Excel 文件。
4. 在 Vue 模板中添加一个按钮来触发导出方法:
```html
<template>
<div>
<button @click="exportExcel">导出 Excel</button>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableData" :key="item.id">
<td>{{ item.name }}</td>
<td>{{ item.age }}</td>
<td>{{ item.gender }}</td>
</tr>
</tbody>
</table>
</div>
</template>
```
在上面的代码中,我们添加了一个按钮来触发导出方法,并在表格中展示了数据。
这样,你就可以在 Vue 中轻松地实现导出 Excel 表格的功能了。