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 如何打开它取决于系统的(语言环境?)设置。
我正在通过此代码生成 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 如何打开它取决于系统的(语言环境?)设置。