[英]convert json data download into excel file
我在 javascript 中遇到问题。 我想将json data
下载到 excel 文件中。 如何下载每行reports
的json data
?
我该怎么办? 有人帮我吗?
var responseList = [{ //this is a sample data "summary": { "id": 3, "user_id": "10", "file_name": "demo.xlsx", "template_name": "test", "success": "0", "fail": "0", "created_at": "2020-07-10 14:02:13", "updated_at": "2020-07-10 14:02:13" }, "reports": [ //download this data into excel file { "id": 5, "user_id": "10", "name": "Alex", "number": "3433095622", "file_name": "demo.xlsx", "template_name": "test", "status": "fail", "sumarry_repo_id": "3", "created_at": "2020-07-10 14:02:13", "updated_at": "2020-07-10 14:02:13" }, { "id": 6, "user_id": "10", "name": "John", "number": "3005095634", "file_name": "demo.xlsx", "template_name": "test", "status": "fail", "sumarry_repo_id": "3", "created_at": "2020-07-10 14:02:13", "updated_at": "2020-07-10 14:02:13" } ] }]; var table = document.querySelector('#my-table'); var tbody = document.createElement('tbody'); table.appendChild(tbody); for (var i = 0; i < responseList.length; i++) { var tr = tbody.insertRow(); var summary = responseList[i]["summary"]; var report = responseList[i]["reports"]; console.log(summary); for (var key in summary) { if (summary.hasOwnProperty(key)) { console.log(key + " -> " + summary[key]); var td = tr.insertCell(); td.innerHTML = summary[key]; } } var td = tr.insertCell(-1); // td.innerHTML = responseList[i]["reports"]; td.innerHTML = `<a onclick="tableToExcel('my-table', 'W3C Example Table');">Download</a>`; } var tableToExcel = (function() { //Download JSON data reports array into excel file })()
<table id="my-table" border="0"> <thead> <tr> <th>ID</th> <th>User ID</th> <th>File name</th> <th>Template name</th> <th>Success</th> <th>Fail</th> <th>Created at</th> <th>Updated at</th> </tr> </thead> </table>
请检查获取 api url
获取 url = https://globemed.codupcloud.com/public/user/10/summary
你可以使用json2xls npm package
使用它的例子:
npm install json2xls
var json2xls = require('json2xls');
var fs = require('fs');
var responseList = [{
"summary": {
"id": 3,
"user_id": "10",
"file_name": "demo.xlsx",
"template_name": "test",
"success": "0",
"fail": "0",
"created_at": "2020-07-10 14:02:13",
"updated_at": "2020-07-10 14:02:13"
},
"reports": [ //download this data into excel file
{
"id": 5,
"user_id": "10",
"name": "Alex",
"number": "3433095622",
"file_name": "demo.xlsx",
"template_name": "test",
"status": "fail",
"sumarry_repo_id": "3",
"created_at": "2020-07-10 14:02:13",
"updated_at": "2020-07-10 14:02:13"
},
{
"id": 6,
"user_id": "10",
"name": "John",
"number": "3005095634",
"file_name": "demo.xlsx",
"template_name": "test",
"status": "fail",
"sumarry_repo_id": "3",
"created_at": "2020-07-10 14:02:13",
"updated_at": "2020-07-10 14:02:13"
}
]
}];
var reports = []
for (var i = 0; i < responseList.length; i++) {
var reportsFeild = responseList[i]["reports"];
for (var key in reportsFeild) {
reports[key] = reportsFeild[key]
}
}
var xls = json2xls(reports, {});
fs.writeFileSync('data.xlsx', xls, 'binary');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.