Я решил это по ошибке, у меня нет объяснения, почему моя проблема была решена, я не планировал ее решать, я исправлял способ загрузки файла excel, и это решило проблему.
Раньше я открывал новую вкладку в Javascript, генерировал Excel и загружал его, мне это не понравилось, потому что, если файл пуст? Я хотел проверить, является ли файл пустым с javascript перед загрузкой файла.
Итак, я сделал это
fetch(url)
.then(resp => resp.blob())
.then(file => {
if (file.size > 0) {
const url = window.URL.createObjectURL(file);
const a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = 'filename.xlsx';
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
} else {
$('#banner').html('<div class="alert alert-warning" role="alert">This provider does not seem to have any data during the selected dates, if you believe there is an issue, please contact the developers</div>');
}
})
.catch(() => $('#banner').html('<div class="alert alert-warning" role="alert">This provider does not seem to have any data during the selected dates, if you believe there is an issue, please contact the developers</div>'));
Кажется, что получение файла с Javascript похоже и переименуйте его, а затем загрузите, по какой-то причине Excel откроет файл в защищенном режиме.