【发布时间】:2021-05-05 17:51:17
【问题描述】:
我一直在为用户提供一个 XLSX 文件的 HTML 页面。它运行良好,但在第一次下载后,用户会卡在下载循环中。
目前我正在使用这些库:Sheetjs 和 Filesaver。
负责构建xlsx文件并下载的函数:
function exportxls(){
var wb = XLSX.utils.book_new();
wb.Props = {
Title: "Test001",
Subject: "teste",
Author: "Moreira",
CreatedDate: new Date(2021,02,01)
};
wb.SheetNames.push("Test Sheet");
var ws_data = [['hello' , 'world']];
var ws = XLSX.utils.aoa_to_sheet(ws_data);
wb.Sheets["Test Sheet"] = ws;
var wbout = XLSX.write(wb, {bookType:'xlsx', type: 'binary'});
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
$("#button-a").click(function(){
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), 'test.xlsx');
});
}
【问题讨论】:
标签: javascript downloadfile filesaver.js sheetjs