Ich benutze JsZip und exceljs Pakete. ExcelJs können Excel-Dokumente in den node.js-Stream schreiben, jszip kann Dateien aus dem Stream lesen und zum Archiv hinzufügen. Wie kann ich einen Stream-Transfer zwischen ihm vornehmen, um bequem damit arbeiten zu können? Ich mache diese Lösung, aber ich denke, seine schlechte Krücke ...Wie Transfer-Stream in node.js machen?
const stream2 = new Writable();
stream2.result = [];
stream2._write = function (chunk, enc, next) {
this.result.push(chunk);
next();
};
const stream1 = new Readable();
stream1._read = function() {
stream1.push(stream2.result.shift() || null);
};
let promise = new Promise((resolve, reject) => {
excelDoc.write(stream2).then(() => {
zip.file('excelDoc.xlsx', stream1);
resolve(true);
});
});