您好我是从阵列生成excel文件,但我没有获得成功。我正在使用node.js,我使用npm包生成excel文件,但我没有在excel文件中获取任何数据。 excel是生成但不在我的文件中获取任何类型的数据。所以任何人都知道我的错误在哪里,请让我知道如何解决它。
这是我的数组和查询=>
var XLSX = require('xlsx');
var Array = [];
Array.push({
username: 'Carakc',
fullName: 'Crack',
followingCount: 2655,
followerCount: 466,
biography: 'I am new man'
},
{
username: 'mahi',
fullName: 'Fit',
followingCount: 3011,
followerCount: 385,
biography: 'hello everyone!'
})
app.get(prefix + '/GetFollowersInExcel', function (req, res, next) {
var ws = XLSX.utils.json_to_sheet(Array);
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Followres");
var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });
res.end(wbout, 'binary');
}
});
}
});
})
这是我的服务代码=>
GetFollowersInExcel: function (InstaId) {
return $http({
method: "GET",
url: ONURL + "GetFollowersInExcel",
responseType: "arraybuffer",
headers: {
'Content-type': 'application/json',
'Accept': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}
}).then(function (data, status, xhr) {
debugger;
if (data.data.byteLength > 0) {
var file = new Blob([data.data], { type: 'application/binary' });
var fileURL = URL.createObjectURL(file);
$('#getexcel').show();
var link = document.createElement('a');
link.href = fileURL;
link.download = "myfile.xlsx";
link.click();
URL.revokeObjectURL(file);
}
}, function (error) {
return error;
})
},
使用此wave我在excel中得到这样的数据=>
我想在excel file =>
中使用此数据答案 0 :(得分:0)
我已经尝试了您的第一个代码,但我没有发现任何错误,因此生成的xlsx非常完美。
Peheraps我发现了问题:在app.get回调之外声明了var数组...你确定XLSX.utils.json_to_sheet可以正确地访问你的var数组吗?它在同一范围内?或者它被宣布在某个地方无法进入?
尝试在回调中声明它,并且可能一切都会正常工作,如果是这种情况,你可以使用类或方法从外部检索var(""取决于你的代码)
P.S。更改var的名称,不是覆盖Array对象的好习惯;)