#javascript #node.js #exceljs
#javascript #node.js #exceljs
Вопрос:
Я пытаюсь прочитать из файла Excel и сгенерировать его копию / записать в другой файл Excel.
Я смог правильно прочитать файл и создать из него объект buffer, ниже приведена соответствующая часть моего кода.
let fn = `writeToStream_${Date.now()}`;
await page.exposeFunction(fn, async (body, done) => {
let buffer = Buffer.from(body, config.get('encoding'));
//await writeStream.xlsx.write(buffer); //Not sure what to do here??
});
const fetchDataResp = await page.evaluate(async (fn, fetchUrl, requestTimeout, enc) => {
const fetchPromise = fetch(fetchUrl, {signal});
const stream = await fetchPromise;
let reader = stream.body.getReader();
const decoder = new TextDecoder();
while(true) {
const {done, value} = await reader.read();
if (done){
break;
}
let v = decoder.decode(value, {stream: true, ignoreBOM: false});
await window[fn](v, false);
}
await window[fn]("", true);
return receivedLength;
},fn,fetchUrl,config.get('export_generator'), config.get('encoding'));
Я не уверен, как приступить к созданию файла Excel из этого. Любая помощь была бы очень полезной, спасибо.
Ответ №1:
Просто быстрая мысль — возможно, это не тот подробный ответ, который вы ищете, но, возможно, наличие данных в формате / файле TSV (или CSV) может быть достаточно простым для ваших нужд (?); например, на самом деле не нужно напрямую полагаться на Excel / делать акцент на Excel(по крайней мере, некоторые из) жестких прививок для вас (- в нем «Экспорт» в общий формат от вашего имени).
‘EPPlus’ — приличная библиотека; возможно, эта ссылка может представлять некоторый интерес:
https://andriybuday.com/2016/02/working-with-excel-files-using-epplus-and-xlsx-js.html