Я использую библиотеку https://www.npmjs.com/package/xlsx для создания CSV. .
Это окончательный код для написания кода CSV.
let workbook: WorkBook = this.workBookCreator.getWorkbook(workBookName);
return this.xlsxModule.write(workbook, {
bookType: format,
type: "buffer"
});
И это будет загружено в корзину S3
.
Скачать файл
window.location.href = fileLocation;
Где fileLocation
– предварительно подписанный URL-адрес S3 с запросом GET.
Когда загруженный файл открывается в Microsoft Excel, специальные символы искажаются из-за того, что кодировка UTF-8 не распознается EXCEL.
Может ли кто-нибудь помочь мне, как я могу установить кодировку UTF-8 при создании CSV для поддержки всех специальных символов в Excel?
До сих пор я пробовал следующие решения:
- Пробовал изменить тип буфера XLSX
- Добавлены IconV и IconV-lite для преобразования буфера.
- Изменен Content-type файла корзины S3.
- Пытался изменить тип буфера на строку
Я знаю, что мы можем добавить спецификацию в файл CSV во время записи. Но не смог найти, откуда я могу добавить.
BOM
в файл при его создании. Чтобы сделать последнее, я предлагаю вам выполнить поиск в Интернете.Sheetjs prepend bom for utf8 csv files
выдал около 10 000 результатов в Google. - person Ron Rosenfeld   schedule 12.10.2020