JavaScript CSV Export - PullRequest
       32

JavaScript CSV Export

0 голосов
/ 13 апреля 2020

Я генерирую файл 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 он открывает строку один столбец.

Можно ли создать файл CSV, который будет отображаться правильно в Excel?

1 Ответ

0 голосов
/ 13 апреля 2020

Вы можете импортировать файл в Excel и выбрать , в качестве разделителя вместо простого открытия файла.


Другой вариант - записать следующую строку в качестве первой строки (спецификация Excel c ):

sep=,

Это заставит Excel использовать , в качестве разделителя.


Третий вариант - использовать другой разделитель, такой как TAB или ; , Как Excel открывает это, зависит от (локали?) Настроек системы.

...