Как сохранить файл .xls или .xlsx с помощью new blob() в javascript?

Пользователь

от hattie , в категории: JavaScript , 9 месяцев назад

Как сохранить файл .xls или .xlsx с помощью new blob() в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jett , 9 месяцев назад

@hattie 

Для сохранения файла .xls или .xlsx с помощью new blob() в JavaScript вы можете выполнить следующие шаги:

  1. Создайте объект Blob, содержащий данные для файла. Например, если у вас есть строка данных, которую вы хотите сохранить в файле, вы можете создать Blob, используя следующий код:
1
2
const data = "Здесь находятся данные, которые вы хотите сохранить в файле";
const blob = new Blob([data], { type: 'application/vnd.ms-excel' });


Замените data на свои данные и application/vnd.ms-excel на соответствующий MIME-тип вашего файла (.xls или .xlsx).

  1. Создайте объект URL для Blob, используя функцию window.URL.createObjectURL(). Это позволит пользователю загрузить файл в браузере.
1
const url = window.URL.createObjectURL(blob);


  1. Создайте ссылку, которая будет использоваться для загрузки файла.
1
2
3
const link = document.createElement('a');
link.href = url;
link.download = 'example.xls'; // замените на имя файла, которое вы хотите использовать


Замените 'example.xls' на имя файла, которое вы хотите использовать, включая расширение файла (.xls или .xlsx).

  1. Добавьте ссылку в DOM и вызовите метод click(), чтобы пользователь мог загрузить файл.
1
2
3
document.body.appendChild(link);
link.click();
document.body.removeChild(link);


Это добавляет ссылку в конец тела документа, кликает по ссылке, чтобы пользователь мог загрузить файл, а затем удаляет ссылку из документа.


Вот полный код:

1
2
3
4
5
6
7
8
9
const data = "Здесь находятся данные, которые вы хотите сохранить в файле";
const blob = new Blob([data], { type: 'application/vnd.ms-excel' });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = 'example.xls'; // замените на имя файла, которое вы хотите использовать
document.body.appendChild(link);
link.click();
document.body.removeChild(link);