Skip to content
This repository was archived by the owner on Apr 15, 2025. It is now read-only.

Commit 7cb101e

Browse files
chore: add sheet snippets (#80)
1 parent fafb985 commit 7cb101e

File tree

5 files changed

+141
-0
lines changed

5 files changed

+141
-0
lines changed

sheets/snippets/appendvalue.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package main
2+
3+
import (
4+
"log"
5+
6+
"google.golang.org/api/sheets/v4"
7+
)
8+
9+
func AppnedValue(svc *sheets.Service, sheetId string) *sheets.AppendValuesResponse {
10+
rng := "A1:B2"
11+
data := [][]string{{"a1", "a2"}, {"b1", "b2"}}
12+
values := make([][]interface{}, len(data))
13+
for i, v := range data {
14+
values[i] = make([]interface{}, len(v))
15+
for j, vv := range v {
16+
values[i][j] = vv
17+
}
18+
}
19+
20+
vr := &sheets.ValueRange{
21+
MajorDimension: "ROWS",
22+
Range: "A1:B2",
23+
Values: values,
24+
}
25+
26+
resp, err := svc.Spreadsheets.Values.Append(sheetId, rng, vr).ValueInputOption("RAW").Do()
27+
if err != nil {
28+
log.Fatalln(err)
29+
}
30+
return resp
31+
}

sheets/snippets/batchgetvalues.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package main
2+
3+
import (
4+
"log"
5+
6+
"google.golang.org/api/sheets/v4"
7+
)
8+
9+
func BatchGetValues(svc *sheets.Service, sheetId string) *sheets.BatchGetValuesResponse {
10+
c := svc.Spreadsheets.Values.BatchGet(sheetId)
11+
c.Ranges("A1:B2")
12+
resp, err := c.Do()
13+
if err != nil {
14+
log.Fatalln(err)
15+
}
16+
17+
// print range and values
18+
// for _, v := range res.ValueRanges {
19+
// fmt.Println(v.Range)
20+
// fmt.Println(v.Values)
21+
// }
22+
23+
return resp
24+
}

sheets/snippets/batchupdate.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package main
2+
3+
import (
4+
"log"
5+
6+
"google.golang.org/api/sheets/v4"
7+
)
8+
9+
func BatchUpdate(svc *sheets.Service, sheetId string) *sheets.BatchUpdateSpreadsheetResponse {
10+
// batch update request for add sheet
11+
req := &sheets.BatchUpdateSpreadsheetRequest{
12+
Requests: []*sheets.Request{{
13+
AddSheet: &sheets.AddSheetRequest{
14+
Properties: &sheets.SheetProperties{
15+
Title: "AddSheet",
16+
},
17+
},
18+
}},
19+
}
20+
21+
resp, err := svc.Spreadsheets.BatchUpdate(sheetId, req).Do()
22+
if err != nil {
23+
log.Fatalln(err)
24+
}
25+
return resp
26+
}

sheets/snippets/batchupdatevalue.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package main
2+
3+
import (
4+
"log"
5+
6+
"google.golang.org/api/sheets/v4"
7+
)
8+
9+
func BatchUpdateValue(svc *sheets.Service, sheetId string) *sheets.BatchUpdateValuesResponse {
10+
data := [][]string{{"A1", "A2"}, {"B1", "B2"}}
11+
values := make([][]interface{}, len(data))
12+
for i, v := range data {
13+
values[i] = make([]interface{}, len(v))
14+
for j, vv := range v {
15+
values[i][j] = vv
16+
}
17+
}
18+
19+
req := &sheets.BatchUpdateValuesRequest{
20+
Data: []*sheets.ValueRange{{
21+
MajorDimension: "ROWS",
22+
Range: "A1:B2",
23+
Values: values,
24+
}},
25+
ValueInputOption: "RAW",
26+
}
27+
28+
resp, err := svc.Spreadsheets.Values.BatchUpdate(sheetId, req).Do()
29+
if err != nil {
30+
log.Fatalln(err)
31+
}
32+
return resp
33+
}

sheets/snippets/create.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package main
2+
3+
import (
4+
"log"
5+
6+
"google.golang.org/api/sheets/v4"
7+
)
8+
9+
func Create(svc *sheets.Service) string {
10+
newSheet := &sheets.Spreadsheet{
11+
Sheets: []*sheets.Sheet{{
12+
Properties: &sheets.SheetProperties{
13+
Title: "ExampleSheet1",
14+
},
15+
}, {Properties: &sheets.SheetProperties{
16+
Title: "ExampleSheet2",
17+
}}},
18+
Properties: &sheets.SpreadsheetProperties{
19+
Title: "ExampleSpreadsheet1",
20+
},
21+
}
22+
resp, err := svc.Spreadsheets.Create(newSheet).Do()
23+
if err != nil {
24+
log.Fatalln(err)
25+
}
26+
return resp.SpreadsheetId
27+
}

0 commit comments

Comments
 (0)