Excel скачать с использованием BLOB-объектов Javascript не форматируется строки - PullRequest
0 голосов
/ 04 июня 2018

У меня есть данные на внешнем интерфейсе в виде объекта javascript.Теперь мне нужно вставить это в Excel и загрузить его, когда пользователь нажимает кнопку.Я использую приведенный ниже код:

 var blob = new Blob([ArrayOfData], {type: 'application/vnd.ms-excel'});
 var downloadUrl = URL.createObjectURL(blob);
 var a = document.createElement("a");
 a.style.display = "none"
 a.href = downloadUrl;
 a.download = "data.csv";
 document.body.appendChild(a);
 a.click();

Успешная часть: данные загружаются в Excel и файл загружается.

Ошибка: все данные добавляются в одну строку вразные столбцы

Вопрос: возможно ли добавлять строку данных построчно в один и тот же столбец?

a.click();

1 Ответ

0 голосов
/ 04 июня 2018

Предполагая, что ArrayOfData - это массив, содержащий несколько массивов значений.

[
   [1, 33, 42, 13],
   ...
]

Существует более простой способ добиться этого, например:

var blob = new Blob([ArrayOfData.join('\n')], {type: 'application/vnd.ms-excel'});

В CSVстолбцы разделяются с помощью ,, а строки - с помощью \n или новой строки (<br> в HTML).поэтому мы объединяем все подмассивы, используя его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...