首页 > 解决方案 > Blob 在生成 csv 文件时跳过第一列

问题描述

我正在尝试使用 blob 类生成 CSV 文件。第一行工作正常,但其余行跳过第一列

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>

标签: javascriptblob

解决方案


每次将数据添加到数组时,不要添加“\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("\r\n"));


      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>


推荐阅读