如何以编程方式格式化内容以粘贴到 Google 电子表格中?

How can you programmatically format content to paste into Google Spreadsheets?

假设您要像这样复制 CSV:

foo,1,"asdf"
bar,2,"fdsa"
baz,3,"helloworld"

您使用 CMD+C/CTRL+C 复制它,然后转到 Google 电子表格并按 CMD+V/CTRL+V,最后您会得到一个包含所有内容的单元格。不是我所希望的...

如何使用 JavaScript 和剪贴板对其进行格式化,以便将每个 row/cell 粘贴到电子表格中的正确位置?我有这个可以在 JavaScript:

中复制到剪贴板
const textarea = document.createElement('textarea')
textarea.style.opacity = 0
textarea.style.width = 0
textarea.style.height = 0
textarea.style.position = 'absolute'
textarea.style.bottom = '-100%'
textarea.style.left = '-100%'
textarea.style.margin = 0
document.body.appendChild(textarea)

const copy = function(text){
  textarea.value = text
  textarea.select()
  document.execCommand('copy')
}

document.addEventListener('click', () => {
  copy(
`foo,1,"asdf"
bar,2,"fdsa"
baz,3,"helloworld"`
  )
}

如何格式化它以便 Google 电子表格中的电子表格正确地将其格式化为行和列?

用制表符替换逗号,它应该可以工作。这是工作表中的标准行为,也是 excel.

var values = [
[
// Cell values ...
],
// Additional rows ...
];
var body = {
values: values
};
gapi.client.sheets.spreadsheets.values.update({
spreadsheetId: spreadsheetId,
range: range,
valueInputOption: valueInputOption,
resource: body
}).then((response) => {
var result = response.result;
console.log(`${result.updatedCells} cells updated.`);
});

这是google sheets api中提供的方法,根据您的需要进行修改 这里是 link https://developers.google.com/sheets/api/guides/values#javascript_1