vue3使用xlsx导出json数据为excel表格

编程入门 行业动态 更新时间:2024-10-23 16:20:47

vue3使用xlsx导出json数据为excel<a href=https://www.elefans.com/category/jswz/34/1768827.html style=表格"/>

vue3使用xlsx导出json数据为excel表格

官方文档可以看sheetjs

安装 xlsx

npm install xlsx

使用非常简单
在需要使用的页面引入

import * as XLSX from "xlsx";

要导出的数据需要是一个没有嵌套的对象数组

// 随便声明一个结果
let arr=[{name:"小红",age:18},{name:"小明",age:20}]
// 创建一个新的工作簿
const workbook = XLSX.utils.book_new();
// 创建一个新的工作表
const worksheet = XLSX.utils.json_to_sheet(arr);
// 将工作表附加到工作簿,并将工作表命名为students
XLSX.utils.book_append_sheet(workbook, worksheet, "students");
// 导出工作簿,并命名导出文件名为Presidents.xlsx
XLSX.writeFile(workbook, "Presidents.xlsx");

代码示例

导出文件结果,下面工作表名称就不截了,图片太长不好看,工作表名就是 students

可以看到虽然导出了,但是上面 name 和 age 显然不是我们想要的,我们想要的是“姓名”和“年龄”,使用XLSX.utils.sheet_add_aoa可以向工作表中添加 JS 数据的数组实现标题重命名

// 向woeksheet工作表中的A1位置添加数据的数组
XLSX.utils.sheet_add_aoa(worksheet, [["姓名", "年龄"]], { origin: "A1" });

更改标题后的结果,可以看到从 A1 开始数据改变成了刚刚写的数据

// 试试改成其他的
XLSX.utils.sheet_add_aoa(worksheet, [["姓名", "年龄"],["性别","爱好"]], { origin: "B5" });

可以看到从 B5 改变数据为上面添加的

也可以通过设置!cols工作表属性来设置列宽

// 改变A列的宽度为50,改变B列宽度为100
worksheet["!cols"] = [ { wch: 50 },{wch:100} ];

更改列宽后的结果

总的来说比之前写的乱七八糟的更简单易懂了

更多推荐

vue3使用xlsx导出json数据为excel表格

本文发布于:2024-02-17 18:38:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1695080.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表格   数据   xlsx   excel   json

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!