返回
基于xlsx库在前端实现Excel导入、导出
前端
2023-10-21 03:08:57
引入库
import * as XLSX from 'xlsx';
读取Excel
// 将文件转换为二进制
const file = document.querySelector('input[type=file]').files[0];
const binary = XLSX.read(file, {type: 'binary'});
// 将二进制转换为工作表
const workbook = XLSX.read(binary, {type: 'workbook'});
// 获取工作表名称
const sheetNames = workbook.SheetNames;
// 获取第一个工作表
const worksheet = workbook.Sheets[sheetNames[0]];
// 获取单元格数据
const data = XLSX.utils.sheet_to_json(worksheet);
导出Excel
// 获取需要导出的数据
const data = [['姓名', '年龄', '性别'], ['张三', '20', '男'], ['李四', '22', '女']];
// 创建工作表
const worksheet = XLSX.utils.json_to_sheet(data);
// 创建工作簿
const workbook = XLSX.utils.book_new();
// 将工作表添加到工作簿
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 将工作簿导出为二进制
const binary = XLSX.write(workbook, {type: 'binary'});
// 将二进制转换为文件
const file = new Blob([binary], {type: 'application/octet-stream'});
// 触发下载
const link = document.createElement('a');
link.href = URL.createObjectURL(file);
link.download = 'data.xlsx';
link.click();
总结
本文讲解了如何在前端实现导入、导出Excel,并附上了代码实例。希望能够帮助大家更轻松地实现前端导入、导出Excel的需求。