Javascript 在Node.JS中,我将如何;shift";使用GoogleSheetsAPI,你能得到一个完整的值范围吗?
我有一个谷歌电子表格,它是由Node.JS应用程序读写的 在一个场景中,我需要将整个范围向上移动一次(将Javascript 在Node.JS中,我将如何;shift";使用GoogleSheetsAPI,你能得到一个完整的值范围吗?,javascript,node.js,google-api,google-sheets-api,Javascript,Node.js,Google Api,Google Sheets Api,我有一个谷歌电子表格,它是由Node.JS应用程序读写的 在一个场景中,我需要将整个范围向上移动一次(将A3:D向上移动一次),但是由于我对googlesheetsapi非常陌生,所以我没有这样做。我考虑过使用这些方法: a) 复制范围内的所有值并将其粘贴一个 使用sheets.spreadsheet.values.get,我将获得A3:D中的所有值,然后使用toLocaleString()将其保存为数组。然后,我将清除该范围内的所有值。最后,我将把数据放在A2:D范围内 问题:在设置数据时,我
A3:D
向上移动一次),但是由于我对googlesheetsapi非常陌生,所以我没有这样做。我考虑过使用这些方法:
a) 复制范围内的所有值并将其粘贴一个
使用sheets.spreadsheet.values.get
,我将获得A3:D
中的所有值,然后使用toLocaleString()将其保存为数组。然后,我将清除该范围内的所有值。最后,我将把数据放在A2:D
范围内
问题:在设置数据时,我会使用数组还是简单地使用response.value.data
,甚至简单地使用response.value
?我如何将数组传递给sheets.spreadsheet.values.set
作为参数
b) 在所有值下面插入一行
我会使用这篇文章中的方法:
问题:这似乎是一个好方法,但我感觉它会导致奇怪的行为。我的电子表格中有一个“标题”行(没有实际数据),我担心这样做会覆盖它。另外,在实际插入新行的位置获取行号的最佳方法是什么
我希望能得到一些关于如何解决这个问题的指导。谢谢大家!
编辑1
我已设法拼凑出这段代码。我正在尝试做一个测试,但我无法理解语法以及如何实现这一点
var spreadsheetId='My sheet ID';
表格.电子表格.数值.批次更新({
身份验证:客户端,//“客户端”已被授权
电子表格ID:spreadsheetId,
请求主体:{
来源:“要显示的文字!A3:D”,
目的地:'要显示的单词!A2',
粘贴类型:“粘贴值。粘贴值”
}
},
功能(错误、响应){
如果(错误){
log('API错误:'+err);
}
});
API错误:
2019-09-18T05:33:03.209240+00:00应用程序[web.1]:API返回错误:错误:
Invalid JSON payload received. Unknown name "source": Cannot find field.
Invalid JSON payload received. Unknown name "destination": Cannot find field.
Invalid JSON payload received. Unknown name "paste_type": Cannot find field.
- 您希望通过Node.js使用googleapis实现以下情况
- 从
1 Alpha Beta Gamma Delta
2 a1 b1 c1 d1
3 a2 b2 c2 d2
4 a3 b3 c3 d3
5 a4 b4 c4 d4
6 a5 b5 c5 d5
1 Alpha Beta Gamma Delta
2 a2 b2 c2 d2
3 a3 b3 c3 d3
4 a4 b4 c4 d4
5 a5 b5 c5 d5
- 从
1 Alpha Beta Gamma Delta
2 a1 b1 c1 d1
3 a2 b2 c2 d2
4 a3 b3 c3 d3
5 a4 b4 c4 d4
6 a5 b5 c5 d5
1 Alpha Beta Gamma Delta
2 a2 b2 c2 d2
3 a3 b3 c3 d3
4 a4 b4 c4 d4
5 a5 b5 c5 d5
- 您已经能够使用Sheets API为电子表格输入和获取值
如果我的理解是正确的,那么这个示例脚本怎么样
模式1:
在此模式中,使用电子表格.batchUpdate方法的剪切粘贴请求。“A3:D”的值复制到“A2:D”
示例脚本:
模式2:
在这个模式中,使用了带有spreadsheets.batchUpdate方法的deleteDimension请求。删除第2行
示例脚本:
- 在这个示例脚本中,删除一行后,使用appendDimension请求添加新行
注:
- 在spreadsheets.batchUpdate方法中,请使用非注释
- 使用此脚本时,如果出现错误,请使用最新版本的googleapis。现在最新版本是43.0.0
参考资料:
为了正确了解您的情况,您能否提供一份包含所需输入和输出的示例电子表格?当然,请删除您的个人信息。以下是我需要它做的事情:感谢您提供示例电子表格。当我看到你的电子表格时,我认为电子表格与你的问题不同。所以我很困惑。我能问一下你现在的问题吗?如果您想更改问题,请更新它。我看不出我的问题如何不反映电子表格。请假设我要查找的输出是示例电子表格中显示的内容。感谢您的回复。在示例电子表格中,“Before”表中的第1行似乎已被删除。您想删除“Before”的第1行。我的理解正确吗?模式1是我需要的。谢谢@CAG2感谢您的回复。我很高兴你的问题解决了。