📅  最后修改于: 2023-12-03 15:28:11.192000             🧑  作者: Mango
如果你正在使用 Google Sheets 编辑表格数据,并且需要使用脚本自动化某些任务,那么 Google App Script 可以帮助你。
下面将介绍如何使用 Google App Script 读取 Sheets 中的一列数据,并遍历每个单元格。
在 Google Sheets 中创建一个新的空白文件。在工具栏上选择“工具”>“脚本编辑器”。
首先,我们需要找到要读取的列的范围。你可以使用 .getDataRange()
方法获取整个表格的范围,然后使用 .getColumn()
方法来获取某一列的范围,例如:
// 获取 Sheet1(第一个工作表)中第一列的范围
range := ss.getSheetByName("Sheet1").getRange(1, 1, ss.getLastRow(), 1)
然后,我们可以使用 .getValues()
方法获取范围内的值,这将返回一个二维数组。我们可以使用一个循环遍历每个单元格:
// 获取 Sheet1(第一个工作表)中第一列的范围
range := ss.getSheetByName("Sheet1").getRange(1, 1, ss.getLastRow(), 1)
// 获取范围内的值
values := range.getValues()
// 遍历每个单元格
for _, row := range values {
for _, col := range row {
// 在这里处理每个单元格的值
fmt.Println(col)
}
}
package main
import (
"fmt"
"google.golang.org/api/sheets/v4"
)
func main() {
// 创建 Sheets 服务
srv := createSheetsService()
// 打开文件
ss, err := srv.Spreadsheets.Get("SPREADSHEET_ID").Do()
if err != nil {
panic(err)
}
// 获取 Sheet1(第一个工作表)中第一列的范围
range := ss.getSheetByName("Sheet1").getRange(1, 1, ss.getLastRow(), 1)
// 获取范围内的值
values := range.getValues()
// 遍历每个单元格
for _, row := range values {
for _, col := range row {
// 在这里处理每个单元格的值
fmt.Println(col)
}
}
}
func createSheetsService() *sheets.Service {
// 创建 Google Sheets 服务
srv, err := sheets.NewService(context.Background())
if err != nil {
panic(err)
}
// 授权
config := getConfig()
token := getToken(config)
srv.Client = config.Client(context.Background(), token)
return srv
}
使用上述代码片段,你可以轻松的读取 Sheets 中的一列数据,并对每个单元格进行操作。本文只是介绍了基本的读取操作,你可以使用 setValue()
、setValues()
方法来修改单元格的值,以及使用 openById()
方法来打开其他的 Sheets 文件。