JavaScript CSV 导出

JavaScript CSV Export

我正在通过此代码生成 CSV 文件

export default function (name, data) {
  if (!data || !Array.isArray(data)) {
    return
  }
  name = name.length ? `${name}.csv` : 'export.csv'
  var csvData = new Blob([data.map(e => e.join(',')).join('\n')], { type: 'text/csv' })
  var csvUrl = URL.createObjectURL(csvData)
  const link = document.createElement('a')
  link.setAttribute('href', csvUrl)
  link.setAttribute('download', name)
  document.body.appendChild(link) // Required for FF
  link.click()
  document.body.removeChild(link)
}

但在 Excel 中它打开第一列。

是否可以生成在 Excel 中正确显示的 csv 文件?

您可以在 Excel 中导入文件并选择 , 作为分隔符,而不仅仅是打开文件。


另一种选择是将以下内容写为第一行(Excel 具体):

sep=,

这将强制 Excel 使用 , 作为分隔符。


第三种选择是使用不同的分隔符,如 TAB;。 Excel 如何打开它取决于系统的(语言环境?)设置。