我正在寻找通过Google表格API创建一组行的方法 - 有没有办法做到这一点?我无法找到能够执行此操作的API,但它似乎应该是一种相当常见的格式需求。
通过选择一组行支持此功能,右键单击并弹出选项以创建组,请参阅下面链接的屏幕截图。我只是想通过API寻找一种方法。
答案 0 :(得分:2)
您可以通过Google Sheets API的第4版完成此操作。
您将需要向该端点提交HTTP POST:
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate
您将需要传递有效的JSON请求。我创建了一个简单的电子表格,其中包含一些要分组的行,并使用此JSON作为对14-17行进行分组的测试:
{
"requests": [
{
"addDimensionGroup": {
"range": {
"dimension": "ROWS",
"sheetId": 0,
"startIndex": 14,
"endIndex": 17
}
}
}
]
}
请注意,startIndex是行(或列)号,即使您折叠了该组,所有内容都将折叠到该行(或列)中,而endIndex是该组的最后一个元素,当该组折叠时,该元素将保持隐藏状态。
此文档为here。如果您的窗口足够宽,它将在右侧显示“尝试此API”窗格。您可以输入工作表的电子表格ID并构建JSON请求主体并对其进行测试,以查看其可直接在工作表上运行-如果在另一个窗口中打开它,则应在单击“执行”后立即看到更新发生按钮。
答案 1 :(得分:1)
使用此-> Range.shiftColumnGroupDepth
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();
// The column grouping depth is increased by 1.
range.shiftColumnGroupDepth(1);
// The column grouping depth is decreased by 1.
range.shiftColumnGroupDepth(-1);
答案 2 :(得分:0)
创建列和行组
列组
function createSomeColumGroups() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName("Sheet189");//this is used in the request
var resource='{"requests": [';
for(var i=1;i<25;i+=3) {//start at column 1 and ends at 24 making them in groups of 3
if(i>1){resource+=', ';}
resource+=Utilities.formatString('{"addDimensionGroup": {"range": {"dimension": "COLUMNS","sheetId": %s,"startIndex": %s ,"endIndex": %s}}}',sh.getSheetId(),i,i+2);
}
resource+=']}';
Logger.log(resource);
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
行组
function createSomeRowGroups() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName("Sheet189");
var resource='{"requests": [';
for(var i=1;i<25;i+=3) {
if(i>1){resource+=', ';}
resource+=Utilities.formatString('{"addDimensionGroup": {"range": {"dimension": "ROWS","sheetId": %s,"startIndex": %s ,"endIndex": %s}}}',sh.getSheetId(),i,i+2);
}
resource+=']}';
Logger.log(resource);
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
别忘了使用高级Google服务并启用Sheets API版本4,并且您还必须在Google Cloud Platform上启用