Skip to content

cjwind/google-sheet-util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoogleSheet utility

Setup

Get credential from GCP then set GOOGLE_APPLICATION_CREDENTIALS to credential file path.

$ export GOOGLE_APPLICATION_CREDENTIALS=credential.json

Usage Example

package main

import (
	"fmt"
	"github.com/cjwind/google-sheet-util"
	"log"
)

func main() {
	// https://docs.google.com/spreadsheets/d/12Luq-VG23UxdcIhfmNCtW_BL4fpHPUwUK-cfwRJyJx0/edit
	spreadsheetId := "12Luq-VG23UxdcIhfmNCtW_BL4fpHPUwUK-cfwRJyJx0"

	var gs googlesheet.GoogleSheet
	if err := gs.Init(spreadsheetId); err != nil {
		log.Fatalf("Unable to init google sheet api: %v\nCredential missing?", err)
	}

	readRange := "Table!A2:E"
	values, err := gs.Read(readRange)
	if err != nil {
		log.Fatalf("Unable to retrieve data from sheet: %v", err)
	}
	fmt.Println(values)

	var writeValues [][]interface{}
	row := []interface{}{"AAA", "BBB"}
	writeValues = append(writeValues, row)
	err = gs.Write("Table", writeValues)
	if err != nil {
		log.Fatal(err)
	}

	var updateValues [][]interface{}
	row = []interface{}{"BBB", "CCC", "DDD"}
	updateValues = append(updateValues, row)
	err = gs.Update("Table!A3", updateValues)
	if err != nil {
		log.Fatal(err)
	}

	clearRange := "Table!A3:E"
	err = gs.Clear(clearRange)
	if err != nil {
		log.Fatal(err)
	}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages