json转excel js
时间: 2025-01-23 19:06:52 浏览: 43
### 使用JavaScript将JSON数据导出至Excel
为了实现从JSON到Excel的转换,可以采用`js-xlsx`这个强大的库来处理。此库支持多种操作电子表格的功能,包括创建、读取以及写入不同类型的文件(xls, xlsx)。对于具体的导出流程而言,在构建好所需的工作簿之后,通过调用特定函数即可完成最终文件的生成。
#### 准备工作
首先需引入必要的依赖项:
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
```
接着定义待转化的数据结构,这里假设有一个简单的联系人类数组作为例子[^2]。
```javascript
const jsonData = [
{"姓名": "路人甲", "电话": "123456789", "邮箱": "[email protected]"},
{"姓名": "炮灰乙", "电话": "123456789", "邮箱": "[email protected]"}
];
```
#### 创建工作表与填充数据
利用提供的工具函数快速建立一个新的工作表对象,并向其中填充值。注意要先确定列名以便后续映射每一行记录中的字段名称。
```javascript
function jsonToSheet(jsonData){
let wscols = Object.keys(jsonData[0]);
var ws_data = [];
ws_data.push(wscols);
jsonData.forEach((row)=>{
let dataRow = wscols.map(col=>row[col])
ws_data.push(dataRow);
});
return XLSX.utils.aoa_to_sheet(ws_data);
}
```
#### 构建工作簿并保存文件
一旦拥有了含有实际内容的工作表实例,则可进一步将其加入到新的工作簿里去;随后指定目标格式为`.xlsx`并通过浏览器下载链接的方式让用户获取该文档。
```javascript
// 将工作表添加到工作簿中
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, jsonToSheet(jsonData), "联系人列表");
// 生成二进制文件
var wbout = XLSX.write(wb, { bookType:'xlsx', type: 'binary' });
// 下载功能封装
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (let i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "contacts.xlsx");
```
上述过程展示了完整的从准备环境到最后触发客户端侧文件下载的整体逻辑链路[^1]。
阅读全文
相关推荐


















