如何将el-table打印成excel文件
时间: 2023-12-26 11:03:18 浏览: 68
要将 `el-table` 打印成 Excel 文件,你可以使用 `xlsx` 库,该库提供了将数据转换为 Excel 文件的功能。具体步骤如下:
1. 安装 `xlsx` 库
```bash
npm install xlsx --save
```
2. 在需要导出 Excel 文件的组件中引入 `xlsx` 库
```javascript
import XLSX from 'xlsx';
```
3. 定义一个方法,在该方法中将 `el-table` 的数据转换为 Excel 文件,并进行下载。
```javascript
methods: {
exportExcel() {
// 获取 el-table 的数据
const tableData = this.$refs.table.data;
// 将数据转换为 worksheet 对象
const worksheet = XLSX.utils.json_to_sheet(tableData);
// 将 worksheet 对象转换为 workbook 对象
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 将 workbook 对象转换为二进制流,进行下载
const wbout = XLSX.write(workbook, { bookType: 'xlsx', type: 'binary' });
saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), 'table.xlsx');
},
},
```
在上面的代码中,`s2ab` 是一个将字符串转换为 ArrayBuffer 的方法,`saveAs` 是一个将二进制数据进行下载的方法,你需要在你的项目中引入这两个方法。
4. 在 `el-table` 中添加一个导出按钮,并绑定 `exportExcel` 方法。
```html
<el-table ref="table" :data="tableData">
<!-- 省略表格的列和数据 -->
</el-table>
<el-button type="primary" @click="exportExcel">导出 Excel</el-button>
```
这样就可以将 `el-table` 打印成 Excel 文件并进行下载了。
阅读全文