前端实现创建a标签,利用new Blob下载成csv,"\uFEFF"解决乱码问题

function createCSV() {
  var res = [  //示例数组
    {
      'name': 'bob',
      'age': '13',
      'career': 'student'
    },
    {
      'name': 'clare',
      'age': '20',
      'career': 'engineer'
    }
  ];
  var dataType = "\uFEFF"; //解决乱码问题
  dataType += (["" + "姓名", "年龄", "职业"].join(','));  //添加表格的头
  dataType += '\n';

  res.forEach(function (item) { //遍历数组,用字符串拼接
    dataType += (['' + item.name, item.age, item.career].join(','));
    dataType += '\n';
  });

  var csvData = new Blob([dataType], {
    type: 'text/csv'
  });
  var _a = document.createElement('a');
  _a.href = URL.createObjectURL(csvData);
  _a.target = '_blank';
  _a.download = 'data.csv';
  document.body.appendChild(_a);
  _a.click();
  document.body.removeChild(_a);
}

createCSV()

你可能感兴趣的:(html,javascript)