2016-09-25 6 views
2

Der Versuch, eine einfache dreispaltige Tabelle ([][]string) mit Go zu schreiben, kann aber nicht. Die quick start Anleitung ist sehr nett, ich kann jetzt Blätter lesen, aber es gibt kein Beispiel, wie man Daten auf ein Blatt schreibt, vielleicht ist es trivial, aber nicht für mich scheint es. Die Golang library für mein Gehirn ist einfach zu kompliziert, um herauszufinden. Und es kein einziges Beispiel könnte ich google ...Golang Google Tabellen API V4 - Schreiben/Aktualisieren Beispiel?

Diese C# example ganz in der Nähe sieht, aber ich bin nicht sicher, ob ich C#

Antwort

5

Nun nach einigen tryouts klar zu verstehen, gibt es eine Antwort. Alles ist gleich wie in https://developers.google.com/sheets/quickstart/go Nur Änderungen in der Hauptfunktion

func write() { 
    ctx := context.Background() 
    b, err := ioutil.ReadFile("./Google_Sheets_API_Quickstart/client_secret.json") 
    if err != nil { 
     log.Fatalf("Unable to read client secret file: %v", err) 
    } 

// If modifying these scopes, delete your previously saved credentials 
// at ~/.credentials/sheets.googleapis.com-go-quickstart.json 
    config, err := google.ConfigFromJSON(b, "https://www.googleapis.com/auth/spreadsheets") 
    if err != nil { 
     log.Fatalf("Unable to parse client secret file to config: %v", err) 
    } 
    client := getClient(ctx, config) 

    srv, err := sheets.New(client) 
    if err != nil { 
     log.Fatalf("Unable to retrieve Sheets Client %v", err) 
    } 

    spreadsheetId := "YOUR SPREADSHEET ID" 

    writeRange := "A1" 

    var vr sheets.ValueRange 

    myval := []interface{}{"One", "Two", "Three"} 
    vr.Values = append(vr.Values, myval) 

    _, err = srv.Spreadsheets.Values.Update(spreadsheetId, writeRange, &vr).ValueInputOption("RAW").Do() 
    if err != nil { 
     log.Fatalf("Unable to retrieve data from sheet. %v", err) 
    } 

} 
Verwandte Themen