Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Google Sheets - Update (Set Values in a Range)Sets values in a range of a spreadsheet. This example will demonstrate by first getting a range, then changing some values in the JSON, and then HTTPS PUT the changes back to the Google Sheet. Note: This example requires Chilkat v9.5.0.76 or greater.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' This example uses a previously obtained access token having permission for the ' Google Sheets scope. ' In this example, Get Google Sheets OAuth2 Access Token, the access ' token was saved to a JSON file. This example fetches the access token from the file.. Dim jsonToken As Chilkat.JsonObject Set jsonToken = Chilkat.NewJsonObject success = jsonToken.LoadFile("qa_data/tokens/googleSheets.json") If (jsonToken.HasMember("access_token") = False) Then Debug.Print "No access token found." Exit Sub End If Dim http As Chilkat.Http Set http = Chilkat.NewHttp http.AuthToken = jsonToken.StringOf("access_token") ' First get the cells in the range A1:B5 success = http.SetUrlVar("range","Sheet1!A1:B5") success = http.SetUrlVar("spreadsheetId","1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA") jsonResponse = http.QuickGetStr("https://sheets.googleapis.com/v4/spreadsheets/{$spreadsheetId}/values/{$range}") If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If Debug.Print jsonResponse Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject json.EmitCompact = False success = json.Load(jsonResponse) ' A sample response is shown below. ' { ' "range": "Sheet1!A1:B5", ' "majorDimension": "ROWS", ' "values": [ ' [ ' "Item", ' "Cost" ' ], ' [ ' "Wheel", ' "$20.50" ' ], ' [ ' "Door", ' "$15" ' ], ' [ ' "Engine", ' "$100" ' ], ' [ ' "Totals", ' "$135.50" ' ] ' ] ' } ' We're going to change the cost of the Engine to $120, and the Totals to $155.50 json.I = 3 json.J = 1 success = json.UpdateString("values[i][j]","$120") json.I = 4 success = json.UpdateString("values[i][j]","$155.50") ' Show the updated JSON. Debug.Print json.Emit() ' -------------------------------------------------------- ' Note: This example requires Chilkat v9.5.0.76 or greater. ' -------------------------------------------------------- ' Update the Google Sheet using a PUT request. json.EmitCompact = True urlToUpdate = "https://sheets.googleapis.com/v4/spreadsheets/{$spreadsheetId}/values/{$range}?valueInputOption=USER_ENTERED" xyz = http.QuickGetStr(urlToUpdate) Set resp = http.PText("PUT",urlToUpdate,json.Emit(),"utf-8","application/json",False,False) If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If ' Examine the response.. Debug.Print "response status code = "; resp.StatusCode Debug.Print "response body:" Debug.Print resp.BodyStr ' A sample response body: ' { ' "spreadsheetId": "1_SO2L-Y6nCayNpNppJLF0r9yHB2UnaCleGCKeE4O0SA", ' "updatedRange": "Sheet1!A1:B5", ' "updatedRows": 5, ' "updatedColumns": 2, ' "updatedCells": 10 ' } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.