vue导入导出excel
时间: 2023-07-03 16:18:56 浏览: 153
vue导入导出excel文件
要在 Vue 中导入导出 Excel,你可以使用以下两个库:
1. `xlsx`,用于读取和写入 Excel 文件。
2. `file-saver`,用于将文件保存到本地。
下面是一个简单的示例:
```javascript
// 导入所需的库
import XLSX from 'xlsx';
import FileSaver from 'file-saver';
// 导出 Excel
exportExcel() {
// 创建 Excel 文件对象
const wb = XLSX.utils.book_new();
// 添加工作表
const ws = XLSX.utils.json_to_sheet(this.data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
// 将 Excel 文件保存到本地
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), 'example.xlsx');
}
// 导入 Excel
importExcel(e) {
// 获取上传的文件
const file = e.target.files[0];
const reader = new FileReader();
reader.onload = (event) => {
// 读取 Excel 文件
const data = new Uint8Array(event.target.result);
const workbook = XLSX.read(data, { type: 'array' });
// 获取工作表
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
// 将工作表数据转换成对象数组
const json = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
// 处理数据
// ...
};
reader.readAsArrayBuffer(file);
}
```
在上面的代码中,`exportExcel` 方法用于导出 Excel 文件,`importExcel` 方法用于导入 Excel 文件。注意,导入时需要使用 `FileReader` 对象读取文件内容,然后通过 `XLSX` 库将内容解析成对象数组。
阅读全文