我正在使用Go API https://developers.google.com/sheets/api/quickstart/go
我有一个看起来像这样的工作表,并且想自动化一些单元格填充逻辑
| B | C |
--+------+------+
1 | b1 | c1 |
--+------+ |
2 | b2 | |
--+------+------+
3 | b3 | |
--+------+------+
使用readRange := "B1:C"
时
resp, _ := s.srv.Spreadsheets.Values.Get(spreadsheetId, readRange).Do()
for _, row := range resp.Values {
...
}
我无法分辨C2和C3之间的区别。在这种情况下,我想向C3而非C2填充一些值。如何通过API进行检查?
答案 0 :(得分:1)
从您的答复中,我可以像上面那样理解。如果我的理解是正确的,则sheets.values.get的方法无法检索合并单元格的信息。在这种情况下,请使用sheets.get的方法。修改后的脚本如下。
ranges := []string{"B1:C"}
resp, _ := s.srv.Spreadsheets.Get(spreadsheetId).Ranges(ranges...).Do()
for _, sheet := range resp.Sheets {
for _, merge := range sheet.Merges {
fmt.Printf("%#v\n", merge)
}
}
B1:C
的范围表示第一个标签的B1:C
。在脚本上方运行时,可以像下面的GridRange一样检索合并单元格的坐标。
{
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 2,
"startColumnIndex": 2,
"endColumnIndex": 3
}
C1:C2
的{{1}}作为a1Notation。
0
是合并的单元格。C1:C2
中时,将显示该值。但是,将值放在C1
中时,不会显示该值。请注意这一点。