前端使用xlsx实现纯前端下载 并且表头与内容分开
时间: 2023-08-14 18:05:09 浏览: 58
可以使用 `xlsx` 库来实现纯前端下载,并且将表头和内容分开。首先,我们需要将表头和内容分别存储在两个数组中。然后,创建一个 `workbook` 对象,并使用 `XLSX.utils.json_to_sheet()` 方法将内容数组转换成工作表。接着,可以使用 `XLSX.utils.book_append_sheet()` 方法将该工作表添加到 `workbook` 对象中。最后,使用 `XLSX.writeFile()` 方法将 `workbook` 对象写入到文件中。
以下是一个示例代码:
```javascript
const data = [
{ name: '张三', age: 20 },
{ name: '李四', age: 28 },
];
// 分离表头和内容
const header = ['姓名', '年龄'];
const content = data.map(item => [item.name, item.age]);
// 创建 workbook 对象
const workbook = XLSX.utils.book_new();
// 创建工作表
const worksheet = XLSX.utils.aoa_to_sheet([header, ...content]);
// 将工作表添加到 workbook 对象中
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 写入文件
XLSX.writeFile(workbook, '测试.xlsx');
```
在上述代码中,我们使用了 `XLSX.utils.aoa_to_sheet()` 方法将二维数组转换成工作表。其中,`...` 操作符用于将表头和内容数组合并成一个新的数组。`'Sheet1'` 参数用于指定工作表的名称。最后,我们调用 `XLSX.writeFile()` 方法将 `workbook` 对象写入到文件中。