vue+node如何实现导出表格
时间: 2023-12-11 19:04:02 浏览: 87
Vue实现导出excel表格功能
1. 安装依赖
首先,需要安装两个依赖:
- xlsx:用于生成 Excel 文件;
- file-saver:用于文件下载。
```
npm install xlsx file-saver --save
```
2. 创建导出函数
在 Vue 组件中创建一个导出函数,将需要导出的数据转换为 Excel 文件,然后触发文件下载。
```
<template>
<div>
<button @click="exportExcel">导出Excel</button>
</div>
</template>
<script>
import { saveAs } from 'file-saver';
import XLSX from 'xlsx';
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18, gender: '男' },
{ name: '李四', age: 20, gender: '女' },
{ name: '王五', age: 22, gender: '男' },
],
};
},
methods: {
exportExcel() {
// 将数据转换为二维数组
const data = this.tableData.map(({ name, age, gender }) => [name, age, gender]);
// 创建工作簿
const worksheet = XLSX.utils.aoa_to_sheet([['姓名', '年龄', '性别'], ...data]);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 将工作簿转换为二进制数据流
const wbout = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
// 保存文件
saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'table.xlsx');
},
},
};
</script>
```
在导出函数中,首先将需要导出的数据转换为二维数组,然后使用 xlsx 的工具方法将二维数组转换为工作簿,最后将工作簿转换为二进制数据流,并触发文件下载。
阅读全文