- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有单个表的表:
用POST方法和以下标头调用:POST 'https://sheets.googleapis.com/v4/spreadsheets/{my_id}/values/Sheet1!E1:append?valueInputOption=USER_ENTERED'
:
Authorization: Bearer {valid_auth_token}
Accept: application/json
Content-Type: application/json
{
"majorDimension": "COLUMNS",
"values": [
["Header", "Hello"]
]
}
Header, Hello
作为列添加到
E
中。我的问题是:如何在不指定新范围的情况下在最后一列之后追加新列(在这种情况下为E1)?有什么办法吗?
https://sheets.googleapis.com/v4/spreadsheets/{my_id}
我可以获取表格名称,但无法获取范围,那么,我如何知道范围?
最佳答案
您想将Header
和Hello
的值放在电子表格上最后一列的下一列而不直接给出范围。
您想使用Sheets API实现此目的。
您已经可以使用Sheets API获取和放置Google Spreadsheet的值。
如果我的理解是正确的,那么这个答案呢?请认为这只是几个可能的答案之一。
问题和解决方法:
不幸的是,在当前阶段,Sheets API中没有方法可直接检索数据范围。尽管存在电子表格.values.append方法和电子表格.batchUpdate方法的AppendCellsRequest方法,但这些方法可用于将值放置到工作表上最后一行的下一行。这不是专栏。同样在这种情况下,无法检索数据范围。因此,为了达到您的目标,我想提出以下解决方法。
在这种解决方法中,Web Apps被用作包装器。客户端访问Web应用程序,然后Web应用程序检索数据范围并将值放在电子表格上最后一列的下一列。在这种情况下,访问Web Apps时不需要设置范围。
用法:
此替代方法的用法如下。
1.创建一个新的Google Apps脚本项目。
Web Apps的示例脚本是Google Apps脚本。因此,请创建一个Google Apps脚本项目。
如果要直接创建它,请访问https://script.new/。在这种情况下,如果您未登录Google,则会打开“登录”屏幕。因此,请登录到Google。这样,将打开Google Apps脚本的脚本编辑器。
2.复制并粘贴脚本。
请复制并粘贴以下脚本。
function doPost(e) {
var obj = JSON.parse(e.postData.contents);
var sheet = SpreadsheetApp.openById(obj.spreadsheetId).getSheetByName(obj.sheetName);
var values = obj.values;
sheet.getRange(1, sheet.getLastColumn() + 1, values.length, values[0].length).setValues(values);
return ContentService.createTextOutput("ok");
}
https://script.google.com/macros/s/###/exec
。
curl -L \
-H "Authorization: Bearer ###" \
-d '{"spreadsheetId": "###", "sheetName": "Sheet1", "values": [["Header"], ["Hello"]]}' \
"https://script.google.com/macros/s/###/exec"
"Header"
和
"Hello"
的值放在“ Sheet1”的工作表上最后一列的下一列。
https://www.googleapis.com/auth/drive.readonly
和/或
https://www.googleapis.com/auth/drive
的范围包括在访问令牌中。
关于google-apps-script - 如何使用Sheets API在最后一列之后插入列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007252/
我是一名优秀的程序员,十分优秀!