我正在使用google的google-apis v4,我已成功使用他们的入门演示并更新它以从我的Google工作表中读取。我现在想读取(循环)我的结果,如果row [n]中的结果符合特定条件,我想以A1格式获得该范围,以便我可以运行spreadsheets.values.update(spreadsheetId,range )。
我正在使用的示例中的代码,并尝试扩展为r / w功能。
readRange := "WorkSheet!C4:G40"
resp, err := srv.Spreadsheets.Values.Get(spreadsheetID, readRange).Do()
if err != nil {
log.Fatalf("Unable to retrieve data from sheet. %v", err)
}
if len(resp.Values) > 0 {
for _, row := range resp.Values {
fmt.Printf("%s, %s, %s\n", row[0], row[3], row[4])
}
} else {
fmt.Print("No data found.")
}
我想做的是采取以上措施并添加if条件如下:
readRange := "WorkSheet!C4:G40"
resp, err := srv.Spreadsheets.Values.Get(spreadsheetID, readRange).Do()
if err != nil {
log.Fatalf("Unable to retrieve data from sheet. %v", err)
}
if len(resp.Values) > 0 {
for _, row := range resp.Values {
// check the value of row[0]
// If true then take action on the cell @ row[3]
if row[0] == "Done" {
rowRange := row[3].A1FormattedRange // I made this up, this is where I'm stuck.
spreadsheets.values.update(spreadsheetId, rowRange, update)
}
}
} else {
fmt.Print("No data found.")
}
答案 0 :(得分:0)
for rowNum, row := range resp.Values {
// check the value of row[0]
// If true then take action on the cell @ row[3]
if row[0] == "Done" {
rowRange := sheets.getRange(rowNum, 3)
spreadsheets.values.update(spreadsheetId, rowRange.getA1Notation(), update)
}
}
这不是经过测试的代码。 This文档应该有所帮助。