Я работаю над nodeJs и React, у меня есть данные в хранилище mysql.в конечном счете мне нужно позволить пользователю загружать данные в формате Excel.Либо мы можем сделать в nodeJs или React.Я пытался создать файл в Node с помощью пакета excel4node. Файл создается успешно, но когда я отправляю файл, он не в формате Excel (некоторые файлы и папки xml), я использовал downloadJs во внешнем интерфейсе для запуска автоматической загрузки.
router.get('/:year/:month', async (req, res, next) => {
res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
res.setHeader('Content-Disposition', 'attachment; filename=' + 'Report.xlsx');
res.sendFile(path.resolve('downloads/excel.xlsx'));
});
import downloadjs from 'downloadjs';
export const getReport = async (year, month) => {
let res = await fetch(`${url}/get-report/${year}/${month}`, {
method: 'GET',
mode: 'cors',
})
let blob = await res.blob();
await downloadjs(blob);
};
Это загружает zip-папку со списком XML-файлов.
Я попытался создать в React (на стороне клиента), отправив JSON из бэкэнда, для этого я использовал реагировать-excel-workbook, но ему нужны предварительно определенные данные, когда мы нажимаем, он неожиданно загружается с фиктивными данными и не ждет разрешения асинхронного действия.
Любая помощь будет оценена.
Или я должен отправить JSON из серверной части и на стороне клиента (преобразовать его в CSV и запустить загрузку .??