#reactjs #excel #webpack #exceljs
Вопрос:
Я использую библиотеку exceljs в своем проекте react и пытаюсь загрузить файл xlsx из локального проекта, который будет использоваться в качестве шаблона. exceljs ожидает, что arraybuffer будет передан следующим образом:
await workbook.xlsx.load(spreadsheet)
Я пытаюсь импортировать электронную таблицу с помощью базового импорта: import spreadsheet from './resources/template.xlsx
Но он не в формате, требуемом библиотекой exceljs. Некоторые другие предложения, которые я нашел, заключаются в том, чтобы вместо этого загрузить его в виде большого двоичного объекта, который будет передан в FileReader.readAsArrayBuffer, но у меня это тоже не получилось. Я думаю, что это что-то с тем, как webpack обрабатывает этот файл в инструкции импорта. Я попытался изменить правила webpack для загрузки файлов xlsx с помощью file-loader
и raw-loader
, но ни один из этих вариантов не сработал. Ищу какие-нибудь другие идеи о том, что можно попробовать. Спасибо за любые предложения!
Комментарии:
1. FWIW Я могу заставить это работать с бэкэндом, отправляющим электронную таблицу в кодировке base64, а затем преобразующим в arraybuffer (и, вероятно, могу просто использовать writebuffer на бэкэнде, чтобы пропустить преобразование на интерфейсе), но я ищу только интерфейсное решение в браузере. в принципе, как я могу сказать webpack импортировать xlsx как base64/blob/arraybuffer