Quasar 导出文件 utf-8 编码

问题描述 投票:0回答:2

我在我的网站中使用 Quasar freamwork 和 Perisan 单词。我使用 Export-data util 从数据表中导出 csv 文件。

这是导出数据的js代码:

function wrapCsvValue(val, formatFn) {
  let formatted = formatFn !== void 0
    ? formatFn(val)
    : val
  formatted = formatted === void 0 || formatted === null
    ? ''
    : String(formatted)
  formatted = formatted.split('"').join('""')
  return `"${formatted}"`
}


exportTable() {
  const content = [this.columns.map(col => wrapCsvValue(col.label))].concat(
    this.rows.map(row => this.columns.map(col => wrapCsvValue(
      typeof col.field === 'function'
        ? col.field(row)
        : row[col.field === void 0 ? col.name : col.field],
      col.format
    )).join(','))
  ).join('\r\n')

  const status = exportFile(
    'table-export.csv',
    content,
    'text/csv'
  )
}

当我导出表格时,当我在 Excel 中打开它时,会返回不可读的数据。但是当我在在线Excel查看器上使用它时就可以了。我能做什么?

vue.js export-to-csv export-to-excel quasar-framework
2个回答
6
投票

对我有用的解决方案:

const status = exportFile(
'table-export.csv',
"ufeff"+content,
'text/csv')

0
投票

这对我有用
在此输入链接描述

const status = exportFile(
        `${t('device.deviceList.device_Name')}-${fileName}.csv`,
        content,
        {
          encoding: "utf-8",
          mimeType: "text/csv",
          byteOrderMark: "\uFEFF",
        }
      )
© www.soinside.com 2019 - 2024. All rights reserved.