var zipLink = document.querySelector('.nr-ziplink');
var exportBtn = document.querySelector('.nr-export');
exportBtn.addEventListener('click', function () {
exportExcelFromZip(zipLink.value);
});
function exportExcelFromZip(url) {
console.debug("下载包...")
fetch(url).then(function (response) {
return response.arrayBuffer();
}).then(function (buffer) {
console.debug("读取包...")
var zip = new JSZip();
zip.loadAsync(buffer).then(function (contents) {
console.debug("提取文件...")
Object.keys(contents.files).forEach(function (filename) {
zip.files[filename].async('string').then(function (content) {
console.debug("JSON解析...")
var json = JSON.parse(content.trim())
console.debug(json)
console.debug("转换为 Excel...")
filename = filename.split('.')[0]; // 去掉后缀
var header = Object.keys(json[0]);
var workbook = XLSX.utils.book_new();
var worksheet = XLSX.utils.json_to_sheet(json, { header: header });
XLSX.utils.book_append_sheet(workbook, worksheet, filename);
console.debug("生成 Excel...")
XLSX.writeFile(workbook, filename + ".xlsx");
})
});
});
});
}