如何计算有数据的细胞
How to count cells with data
我正在获取指定范围内的值。但是有没有办法计算这些值呢?
我正在使用此方法从工作表中获取值。
spreadsheetId :=""
range2 :=""
valueRenderOption := "FORMATTED_VALUE"
resp, err :=sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
if err != nil {
log.Fatal(err)
}
修改点:
- 对于
sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
,当A1:C1
给range2
时,返回值为{"majorDimension":"ROWS","range":"A1:C1","values":[["###","###","###"]]}
。在这种情况下,resp.Values
是二维数组。至此,len(resp.Values)
returns 1
。我认为这就是您遇到问题的原因。
当你想从sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
中检索单元格总数时,下面的修改怎么样?
修改后的脚本:
resp, err := sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
if err != nil {
log.Fatal(err)
}
count := 0
for _, e := range resp.Values {
count += len(e)
}
fmt.Println(count)
- 在这种情况下,当
A1:C1
用于 range2
时,返回 3
。
注:
例如,当你想获取不为空的单元格总数时,也可以使用下面的脚本。
resp, err := sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
if err != nil {
log.Fatal(err)
}
count := 0
for _, e := range resp.Values {
for _, f := range e {
if f != "" {
count++
}
}
}
fmt.Println(count)
在此修改后的脚本中,假设您已经能够使用表格 API 从 Google 电子表格中检索值。请注意这一点。
参考:
我正在获取指定范围内的值。但是有没有办法计算这些值呢? 我正在使用此方法从工作表中获取值。
spreadsheetId :=""
range2 :=""
valueRenderOption := "FORMATTED_VALUE"
resp, err :=sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
if err != nil {
log.Fatal(err)
}
修改点:
- 对于
sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
,当A1:C1
给range2
时,返回值为{"majorDimension":"ROWS","range":"A1:C1","values":[["###","###","###"]]}
。在这种情况下,resp.Values
是二维数组。至此,len(resp.Values)
returns1
。我认为这就是您遇到问题的原因。
当你想从sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
中检索单元格总数时,下面的修改怎么样?
修改后的脚本:
resp, err := sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do()
if err != nil {
log.Fatal(err)
}
count := 0
for _, e := range resp.Values {
count += len(e)
}
fmt.Println(count)
- 在这种情况下,当
A1:C1
用于range2
时,返回3
。
注:
例如,当你想获取不为空的单元格总数时,也可以使用下面的脚本。
resp, err := sheetsService.Spreadsheets.Values.Get(spreadsheetId, range2).ValueRenderOption(valueRenderOption).Do() if err != nil { log.Fatal(err) } count := 0 for _, e := range resp.Values { for _, f := range e { if f != "" { count++ } } } fmt.Println(count)
在此修改后的脚本中,假设您已经能够使用表格 API 从 Google 电子表格中检索值。请注意这一点。