猿问

在每个单元格上使用自动宽度导出 CSV

我在设置自动宽度时遇到问题。我想将所有文本放在一个单元格中,无需进一步点击即可查看所有值。我导出的 CSV 目前看起来像这样:

以下是我想要实现的目标:

http://img3.mukewang.com/627f521d000195b304930139.jpg

到目前为止我尝试过的是,转换这个数据数组(字符串化)


[

  ["Play Date","Round","Result Virtual","Result Data"],

  ["=\"2020-03-04 00:48:00\"","16","\"[LEFT, LINE3, EVEN]\"","\"[LEFT, LINE3, EVEN]\""],

  ["=\"2020-03-04 00:51:00\"","17","\"[LEFT, LINE4, ODD]\"","\"[LEFT, LINE4, ODD]\""],

  ["=\"2020-03-04 00:54:00\"","18","\"[LEFT, LINE3, EVEN]\"","\"[LEFT, LINE3, EVEN]\""],

  ["=\"2020-03-04 00:57:00\"","19","\"[RIGHT, LINE4, EVEN]\"","\"[RIGHT, LINE4, EVEN]\""]

]

转换成 CSV 格式,然后下载:


data.forEach(rowItem => {

  rowItem.forEach(colItem => {

    csvString += `${colItem},`

  })

  csvString += '\r\n'

})


csvString = 'data:application/csv,' + encodeURIComponent(csvString)

var x = document.createElement('A')

x.setAttribute('href', csvString)

x.setAttribute('download', `${new Date()}.csv`)

document.body.appendChild(x)

x.click()


肥皂起泡泡
浏览 302回答 2
2回答

浮云间

顾名思义,逗号分隔值 (CSV)只不过是文本。用逗号分隔。根据维基百科,CSV 是使用逗号分隔值的分隔文本文件。文件的每一行都是一个数据记录。每条记录由一个或多个字段组成,以逗号分隔。使用逗号作为字段分隔符是此文件格式名称的来源。CSV 文件通常以纯文本形式存储表格数据(数字和文本),在这种情况下,每行将具有相同数量的字段。它只有一个二维数据矩阵。您要合并的是将有关这些数据的显示格式的一些数据合并到特定应用程序中(似乎是excel)。在那些应用程序中,如果不添加与格式化实际数据的呈现相关的数据,恐怕这是不可能的。文件内容 + 格式化数据 ->.csv将违反 CSV 背后的基本理念(阅读此内容以了解有关 CSV 的更多信息,阅读此内容以了解 CSV上的 RFC)。这就是为什么会有特定于应用程序的格式,例如.xls.我不认为(并且应该永远)可以按照.csv格式做您尝试做的事情。您可以采取的最佳途径是选择更适合您要求的不同文件格式(例如.xls)。

交互式爱情

你可以试试这个 API RangeFormat.autofitColumns(),这里是你可以试试的示例代码async function main(context: Excel.RequestContext) {  // Auto fit the columns of range: Sheet1!A:A  let workbook = context.workbook;  let worksheets = workbook.worksheets;  let selectedSheet = worksheets.getActiveWorksheet();  selectedSheet.getRange("A:A").format.autofitColumns();该文档可在https://docs.microsoft.com/en-us/javascript/api/excel/excel.rangeformat?view=excel-js-preview#autofitcolumns--找到
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答