【发布时间】:2021-12-15 20:57:49
【问题描述】:
我最近开始编写一个程序来将 CSV 和 SQL 导出到谷歌表格。在某些情况下,我需要在创建工作表和/或更新工作表时创建一个 NamedRange。谷歌官方文档有点混乱,对我没有太大帮助。谁能给我一个示例代码或指出正确的方向吗?
现在我有一些类似的东西。这只是显示其中一种场景的示例代码。
func writeSS(ssid string, content [][]interface{}) {
ctx := context.Background()
b, err := ioutil.ReadFile("./credentials/client_secret.json")
if err != nil {
log.Fatalf("Unable to read client secret file: %v", err)
}
config, err := google.ConfigFromJSON(b, "https://www.googleapis.com/auth/spreadsheets.readonly")
if err != nil {
log.Fatalf("Unable to parse client secret file to config: %v", err)
}
client := getClient(config)
srv, err := sheets.NewService(ctx, option.WithHTTPClient(client))
if err != nil {
log.Fatalf("Unable to retrieve Sheets client: %v", err)
}
spreadsheetId := ssid
rangeData := "Sheet name!A1:A6"
rb := &sheets.BatchUpdateValuesRequest{
ValueInputOption: "USER_ENTERED",
}
rb.Data = append(rb.Data, &sheets.ValueRange{
Range: rangeData,
Values: content,
})
_, err = srv.Spreadsheets.Values.BatchUpdate(spreadsheetId, rb).Context(ctx).Do() //Check this again
// _, err = srv.Spreadsheets.Values.Update(spreadsheetId, writeRange, &vr).ValueInputOption("USER_ENTERED").Do()
if err != nil {
log.Fatal(err)
}
fmt.Println("Done.")
}
【问题讨论】:
-
有什么问题?试着把它放在表格中 - 我想做 X,我尝试 Y,而不是我得到 Z。你有错误吗?您要遵循哪些文档?
-
没有问题,我只是想获取一个关于如何创建 RangedName 的示例代码。
标签: go google-sheets google-sheets-api named-ranges