【问题标题】:JavaScript CSV ExportJavaScript CSV 导出
【发布时间】:2026-01-04 21:30:01
【问题描述】:

我正在通过此代码生成 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 文件?

【问题讨论】:

  • 您的数据是什么样的?我认为那里有一些错误

标签: javascript csv export-to-csv


【解决方案1】:

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


另一种选择是将以下内容写为第一行(特定于 Excel):

sep=,

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


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

【讨论】:

  • 它可以工作,但在其他表编辑器中 sep=, 显示为第一行,此问题的任何解决方案?
  • 是的,这是 Excel 特有的。另一种选择是使用不同的分隔符,如TAB;。 Excel 如何打开它取决于系统的(区域设置?)设置。