gpt4 book ai didi

go - 如何识别单元格是与google sheets api合并的单元格

转载 作者:IT王子 更新时间:2023-10-29 02:07:06 26 4
gpt4 key购买 nike

我正在使用 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 进行检查?

最佳答案

  • 您想使用 Sheets API 检索工作表中合并单元格的信息。

从你的回复中,我可以像上面那样理解。如果我的理解是正确的,spreadsheets.values.get 的方法不能获取合并单元格的信息。在这种情况下,请使用 spreadsheets.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)
}
}

备注:

  • 此修改后的脚本假设您已经使用过 Sheets API。
  • Range of B1:C 表示第一个标签的B1:C
  • 当您运行上面的脚本时,您可以检索合并单元格的坐标作为 GridRange,如下所示。

    {
    "sheetId": 0,
    "startRowIndex": 0,
    "endRowIndex": 2,
    "startColumnIndex": 2,
    "endColumnIndex": 3
    }
    • 此 GridRange 是工作表 ID 0C1:C2 作为 a1Notation。
      • 从上面的结果可以看出,C1:C2是合并后的单元格。
      • 在这种情况下,当将值放入C1 时,将显示该值。但是当值被放入C2时,这个值是不显示的。请注意这一点。
    • 如果你想使用GridRange来放置值,你可以使用spreadsheets.batchUpdate的方法。

引用资料:

关于go - 如何识别单元格是与google sheets api合并的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55487169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com