Большой двоичный объект пропускает первый столбец при создании файла csv

#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 не в каждом массиве