JavaScript: создаем и позволяем скачать csv файл
Задача: из некого массива данных создать файл и предложить его к закачке пользователем, без участия серверной части.
Решение: Для создания файла воспользуемся функцией Blob, которая позволяет оперировать с бинарными данными. Далее создадим в DOM элемент <a>, поместим в href бинарные данные и сэмулируем нажатие на ссылку. Примерно так:
//собираем csv файл
csv="OKPU;P1;P2;\n";
data.result.forEach(function(entry) {
csv=csv+entry.okpu+";"+entry.P1+";"+entry.P2+"\n";
});
let a = document.createElement("a");
let file = new Blob([csv], {type: 'application/csv'});
a.href = URL.createObjectURL(file);
a.download = "sender_okpu_data.csv";
a.click();