#javascript #blob
#javascript #клякса
Вопрос:
Я пытаюсь сгенерировать CSV-файл, используя класс blob. Первая строка работает нормально, но остальные строки пропускают первый столбец
var ExcelIndex = ['"user_name","user_hash","authenticate_id","first_name","last_name","description","department","phone_home","phone_mobile","phone_work","phone_other","phone_fax","address_street","address_city","address_state","address_country","address_postalcode","Errors"'];
var dataInSingleStringArray = new Array();
dataInSingleStringArray.push(ExcelIndex[0], "n");
var ExcelInde = ['"user_name","user_hash","authenticate_id","first_name","last_name","description","department","phone_home","phone_mobile","phone_work","phone_other","phone_fax","address_street","address_city","address_state","address_country","address_postalcode","Errors"'];
// var dataInSingleStringArray = new Array();
dataInSingleStringArray.push(ExcelInde[0], "n");
window.URL = window.webkitURL || window.URL;
var contentType = 'text/csv';
var csvFile = new Blob([dataInSingleStringArray], {type: contentType});
var a = document.createElement('a');
a.setAttribute("style", "margin-left: 700px;font-size: 2em;")
a.download = 'failed_data.csv';
a.href = window.URL.createObjectURL(csvFile);
a.textContent = 'Download File';
document.getElementById('link').appendChild(a);
<div id="link"></div>
Ответ №1:
Вместо того чтобы добавлять » n» каждый раз, когда вы добавляете данные в свой массив, добавьте данные в свой массив, а затем соедините их с » n».
var ExcelIndex = ['"user_name","user_hash","authenticate_id","first_name","last_name","description","department","phone_home","phone_mobile","phone_work","phone_other","phone_fax","address_street","address_city","address_state","address_country","address_postalcode","Errors"'];
var dataInSingleStringArray = new Array();
dataInSingleStringArray.push(ExcelIndex[0]);
var ExcelInde = ['"user_name","user_hash","authenticate_id","first_name","last_name","description","department","phone_home","phone_mobile","phone_work","phone_other","phone_fax","address_street","address_city","address_state","address_country","address_postalcode","Errors"'];
// var dataInSingleStringArray = new Array();
dataInSingleStringArray.push(ExcelInde[0]);
//console.log(dataInSingleStringArray);
//console.log(dataInSingleStringArray.join("rn"));
window.URL = window.webkitURL || window.URL;
var contentType = 'text/csv';
var csvFile = new Blob([dataInSingleStringArray.join("n")], {type: contentType});
var a = document.createElement('a');
a.setAttribute("style", "margin-left: 700px;font-size: 2em;")
a.download = 'failed_data.csv';
a.href = window.URL.createObjectURL(csvFile);
a.textContent = 'Download File';
document.getElementById('link').appendChild(a);
<div id="link"></div>
Комментарии:
1. Почему нам нужно добавлять n при создании объекта класса blob не в каждом массиве