update method
Sets values in a range of a spreadsheet.
The caller must specify the spreadsheet ID, range, and a valueInputOption.
request
- The metadata request object.
Request parameters:
spreadsheetId
- The ID of the spreadsheet to update.
range
- The [A1 notation](/sheets/api/guides/concepts#cell) of the
values to update.
includeValuesInResponse
- Determines if the update response should
include the values of the cells that were updated. By default, responses
do not include the updated values. If the range to write was larger than
the range actually written, the response includes all values in the
requested range (excluding trailing empty rows and columns).
responseDateTimeRenderOption
- Determines how dates, times, and
durations in the response should be rendered. This is ignored if
response_value_render_option is FORMATTED_VALUE. The default dateTime
render option is SERIAL_NUMBER.
Possible string values are:
- "SERIAL_NUMBER" : Instructs date, time, datetime, and duration fields to be output as doubles in "serial number" format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it's 2 days after December 30th 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
- "FORMATTED_STRING" : Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which depends on the spreadsheet locale).
responseValueRenderOption
- Determines how values in the response should
be rendered. The default render option is FORMATTED_VALUE.
Possible string values are:
- "FORMATTED_VALUE" : Values will be calculated & formatted in the
response according to the cell's formatting. Formatting is based on the
spreadsheet's locale, not the requesting user's locale. For example, if
A1
is1.23
andA2
is=A1
and formatted as currency, thenA2
would return"$1.23"
. - "UNFORMATTED_VALUE" : Values will be calculated, but not formatted in
the reply. For example, if
A1
is1.23
andA2
is=A1
and formatted as currency, thenA2
would return the number1.23
. - "FORMULA" : Values will not be calculated. The reply will include the
formulas. For example, if
A1
is1.23
andA2
is=A1
and formatted as currency, then A2 would return"=A1"
. Sheets treats date and time values as decimal values. This lets you perform arithmetic on them in formulas. For more information on interpreting date and time values, see [About date & time values](https://developers.google.com/sheets/api/guides/formats#about_date_time_values).
valueInputOption
- How the input data should be interpreted.
Possible string values are:
- "INPUT_VALUE_OPTION_UNSPECIFIED" : Default input value. This value must not be used.
- "RAW" : The values the user has entered will not be parsed and will be stored as-is.
- "USER_ENTERED" : The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a UpdateValuesResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<UpdateValuesResponse> update(
ValueRange request,
core.String spreadsheetId,
core.String range, {
core.bool? includeValuesInResponse,
core.String? responseDateTimeRenderOption,
core.String? responseValueRenderOption,
core.String? valueInputOption,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (includeValuesInResponse != null)
'includeValuesInResponse': ['${includeValuesInResponse}'],
if (responseDateTimeRenderOption != null)
'responseDateTimeRenderOption': [responseDateTimeRenderOption],
if (responseValueRenderOption != null)
'responseValueRenderOption': [responseValueRenderOption],
if (valueInputOption != null) 'valueInputOption': [valueInputOption],
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v4/spreadsheets/' +
commons.escapeVariable('$spreadsheetId') +
'/values/' +
commons.escapeVariable('$range');
final response_ = await _requester.request(
url_,
'PUT',
body: body_,
queryParams: queryParams_,
);
return UpdateValuesResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}