Я на самом деле использую эту библиотеку: https://github.com/SheetJS/js-xlsx.
Я использовал его для создания и загрузки файла XLSX, который извлекает таблицу с моего сайта. Это работает довольно хорошо, но сейчас я пытаюсь сделать что-то более сложное.
Я пытаюсь загрузить все свои таблицы одновременно, что означает загрузку нескольких файлов XLSX. Это работает с моим реальным кодом:
function saveAll(dataAll){
for (let i=0;i<dataAll.length;++i) {
let ws_name = "SheetJS";
let data = dataAll[i];
let wb = new Workbook();
console.log(data);
let ws = sheet_from_array_of_arrays(data.content, null, data.mois, data.annee);
/* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
let wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: true, type: 'binary'});
saveAs(new Blob([s2ab(wbout)],{type: "application/octet-stream"}), data.prenom_nom + " PVA " + data.mois + " " + data.annee + ".xlsx");
}
}
Теперь я хотел бы загрузить все эти файлы xlsx в уникальный файл ZIP или tar.gz, но я немного застрял. Я пытался использовать библиотеку zip.js, но безуспешно.
Мой параметр dataAll - это массив объектов, и каждый объект содержит .content, который является матрицей, и некоторые другие параметры, используемые в имени файла.
Как мне загрузить все эти файлы xlsx только в одном архиве, вместо того, чтобы загружать их один за другим?