颜色
表示 RGBA 颜色空间中的一种颜色。此表示法旨在简化与各种语言的颜色表示之间的转换,而不是紧凑性。例如,您可以将此表示法的字段直接提供给 Java 中的 java.awt.Color
的构造函数;也可以将其简单地提供给 iOS 中的 UIColor 的 +colorWithRed:green:blue:alpha
方法;并且只需稍作调整,就能在 JavaScript 中轻松格式化为 CSS rgba()
字符串。
本参考页面未包含用于解读 RGB 值的绝对颜色空间(例如 sRGB、Adobe RGB、DCI-P3 和 BT.2020)的相关信息。默认情况下,应用应采用 sRGB 颜色空间。
需要确定颜色相等时,除非另有说明,否则如果两种颜色的红色、绿色、蓝色和 alpha 值之差不超过 1e-5
,则实现应将这两种颜色视为相等。
示例 (Java):
import com.google.type.Color;
// ...
public static java.awt.Color fromProto(Color protocolor) {
float alpha = protocolor.hasAlpha()
? protocolor.getAlpha().getValue()
: 1.0;
return new java.awt.Color(
protocolor.getRed(),
protocolor.getGreen(),
protocolor.getBlue(),
alpha);
}
public static Color toProto(java.awt.Color color) {
float red = (float) color.getRed();
float green = (float) color.getGreen();
float blue = (float) color.getBlue();
float denominator = 255.0;
Color.Builder resultBuilder =
Color
.newBuilder()
.setRed(red / denominator)
.setGreen(green / denominator)
.setBlue(blue / denominator);
int alpha = color.getAlpha();
if (alpha != 255) {
result.setAlpha(
FloatValue
.newBuilder()
.setValue(((float) alpha) / denominator)
.build());
}
return resultBuilder.build();
}
// ...
示例 (iOS / Obj-C):
// ...
static UIColor* fromProto(Color* protocolor) {
float red = [protocolor red];
float green = [protocolor green];
float blue = [protocolor blue];
FloatValue* alpha_wrapper = [protocolor alpha];
float alpha = 1.0;
if (alpha_wrapper != nil) {
alpha = [alpha_wrapper value];
}
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
}
static Color* toProto(UIColor* color) {
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
return nil;
}
Color* result = [[Color alloc] init];
[result setRed:red];
[result setGreen:green];
[result setBlue:blue];
if (alpha <= 0.9999) {
[result setAlpha:floatWrapperWithValue(alpha)];
}
[result autorelease];
return result;
}
// ...
示例 (JavaScript):
// ...
var protoToCssColor = function(rgbColor) {
var redFrac = rgbColor.red || 0.0;
var greenFrac = rgbColor.green || 0.0;
var blueFrac = rgbColor.blue || 0.0;
var red = Math.floor(redFrac * 255);
var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255);
if (!('alpha' in rgbColor)) {
return rgbToCssColor(red, green, blue);
}
var alphaFrac = rgbColor.alpha.value || 0.0;
var rgbParams = [red, green, blue].join(',');
return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};
var rgbToCssColor = function(red, green, blue) {
var rgbNumber = new Number((red << 16) | (green << 8) | blue);
var hexString = rgbNumber.toString(16);
var missingZeros = 6 - hexString.length;
var resultBuilder = ['#'];
for (var i = 0; i < missingZeros; i++) {
resultBuilder.push('0');
}
resultBuilder.push(hexString);
return resultBuilder.join('');
};
// ...
JSON 表示法 |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
字段 | |
---|---|
red
|
颜色中的红色量,以 [0, 1] 之间的值表示。 |
green
|
颜色中的绿色量,以 [0, 1] 之间的值表示。 |
blue
|
颜色中的蓝色量,以 [0, 1] 之间的值表示。 |
alpha
|
此颜色在像素中的应用比例。也就是说,最终的像素颜色由以下公式定义:
也就是说,值为 1.0 表示纯色,而值为 0.0 表示完全透明的颜色。它会使用封装容器消息,而非简单的浮动标量,以便区分默认值和未设置的值。如果省略此参数,则此颜色对象会呈现为纯色(就好像 alpha 值已被明确指定为 1.0 一样)。 |
ColorStyle
颜色值。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 kind 。颜色值的种类。
kind 只能是下列其中一项:
|
|
rgbColor
|
|
themeColor
|
主题颜色。 |
ThemeColorType
主题颜色类型。
SpreadsheetProperties
包含一个 SpreadsheetTheme
,用于定义这些主题颜色类型与具体颜色的映射。
枚举 | |
---|---|
THEME_COLOR_TYPE_UNSPECIFIED
|
未指定的主题颜色 |
TEXT
|
表示主要文本颜色 |
BACKGROUND
|
表示主要背景颜色 |
ACCENT1
|
表示第一种强调色 |
ACCENT2
|
表示第二个强调色 |
ACCENT3
|
表示第三种强调色 |
ACCENT4
|
表示第四个强调色 |
ACCENT5
|
表示第五种强调色 |
ACCENT6
|
表示第六种强调色 |
LINK
|
表示用于超链接的颜色 |
HorizontalAlign
单元格中文本的水平对齐方式。
枚举 | |
---|---|
HORIZONTAL_ALIGN_UNSPECIFIED
|
未指定水平对齐。请勿使用。 |
LEFT
|
文本与单元格的左侧明确对齐。 |
CENTER
|
文本与单元格的中心明确对齐。 |
RIGHT
|
文本与单元格的右侧明确对齐。 |
TextFormat
单元格中各行文本的格式。缺少值表示未指定该字段。
JSON 表示法 |
---|
{ "foregroundColor": { object ( |
字段 | |
---|---|
foregroundColor
|
文本的前景色。已废弃:请使用 |
foregroundColorStyle
|
文本的前景色。如果还设置了 |
fontFamily
|
字体系列。 |
fontSize
|
字体大小。 |
bold
|
如果文本为粗体,则返回 true。 |
italic
|
如果文本设为斜体,则返回 true。 |
strikethrough
|
如果文本带有删除线,则为 true。 |
underline
|
如果文本带下划线,则返回 true。 |
link
|
文本的链接目标位置(如果有)。在 |
链接
外部或本地引用。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 destination 。链接目的地。
destination 只能是下列其中一项:
|
|
uri
|
关联标识符。 |
DataSourceColumn
数据源中的列。
JSON 表示法 |
---|
{
"reference": {
object (
|
字段 | |
---|---|
reference
|
列引用。 |
formula
|
计算列的公式。 |
DataSourceColumnReference
引用数据源列的唯一标识符。
JSON 表示法 |
---|
{ "name": string } |
字段 | |
---|---|
name
|
列的显示名称。它在数据源中应该是唯一的。 |
DataExecutionStatus
数据执行状态。
系统会创建一个数据执行,以将数据源对象与 DataSource
中的最新数据同步。它通常安排在后台运行,您可以查看其 state
来判断执行是否已完成
在以下几种情况下,系统会触发数据执行执行操作:
-
Adding a data source
会创建关联的数据源工作表和数据执行,以将数据从数据源同步到工作表。 -
Updating a data source
会创建一个数据执行,以类似方式刷新关联的数据源工作表。 -
您可以发送
refresh request
以显式刷新一个或多个数据源对象。
JSON 表示法 |
---|
{ "state": enum ( |
字段 | |
---|---|
state
|
数据执行的状态。 |
errorCode
|
错误代码。 |
errorMessage
|
错误消息,可能为空。 |
lastRefreshTime
|
获取上次成功刷新数据的时间。 |
DataExecutionState
数据执行状态的枚举。
枚举 | |
---|---|
DATA_EXECUTION_STATE_UNSPECIFIED
|
默认值,请勿使用。 |
NOT_STARTED
|
数据执行尚未开始。 |
RUNNING
|
数据执行已开始并正在运行。 |
CANCELLING
|
数据执行目前正在取消。 |
SUCCEEDED
|
数据执行已成功完成。 |
FAILED
|
数据执行已完成,但有错误。 |
DataExecutionErrorCode
一个枚举数据执行错误代码。
枚举 | |
---|---|
DATA_EXECUTION_ERROR_CODE_UNSPECIFIED
|
默认值,请勿使用。 |
TIMED_OUT
|
数据执行超时。 |
TOO_MANY_ROWS
|
数据执行返回的行数超出上限。 |
TOO_MANY_COLUMNS
|
数据执行返回的列数超出上限。 |
TOO_MANY_CELLS
|
数据执行返回的单元数超过上限。 |
ENGINE
|
从后端数据执行引擎(例如 BigQuery)收到错误。如需了解详情,请查看 errorMessage 。
|
PARAMETER_INVALID
|
提供的一个或多个数据源参数无效。 |
UNSUPPORTED_DATA_TYPE
|
数据执行返回的数据类型不受支持。 |
DUPLICATE_COLUMN_NAMES
|
数据执行会返回重复的列名称或别名。 |
INTERRUPTED
|
数据执行中断。请稍后再刷新。 |
CONCURRENT_QUERY
|
数据执行目前正在进行中,在执行完成之前无法刷新。 |
OTHER
|
其他错误。 |
TOO_MANY_CHARS_PER_CELL
|
数据执行返回的值超出了单个单元格所允许的字符数上限。 |
DATA_NOT_FOUND
|
未找到数据源引用的数据库。*/ |
PERMISSION_DENIED
|
用户无权访问数据源引用的数据库。 |
MISSING_COLUMN_ALIAS
|
数据执行会返回缺少别名的列。 |
OBJECT_NOT_FOUND
|
数据源对象不存在。 |
OBJECT_IN_ERROR_STATE
|
数据源对象当前处于错误状态。如需强制刷新,请在 RefreshDataSourceRequest 中设置 force 。
|
OBJECT_SPEC_INVALID
|
数据源对象规范无效。 |
DATA_EXECUTION_CANCELLED
|
数据执行已取消。 |
ExtendedValue
电子表格中的单元格中可包含的值的类型。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 value 。单元格中的值的类型。如果未设置任何字段,则此单元格中没有数据。
value 只能是下列其中一项:
|
|
numberValue
|
表示双精度值。注意:日期、时间和日期时间以 |
stringValue
|
表示字符串值。不包括前导单引号。例如,如果用户在界面中输入了 |
boolValue
|
表示布尔值。 |
formulaValue
|
表示公式。 |
errorValue
|
表示错误。此字段是只读字段。 |
ErrorValue
单元格中存在错误。
JSON 表示法 |
---|
{
"type": enum (
|
字段 | |
---|---|
type
|
错误类型。 |
message
|
包含错误详情的消息(在电子表格的语言区域中)。 |
ErrorType
错误类型。
枚举 | |
---|---|
ERROR_TYPE_UNSPECIFIED
|
默认错误类型,请勿使用。 |
ERROR
|
对应于 #ERROR! 错误。
|
NULL_VALUE
|
对应于 #NULL! 错误。
|
DIVIDE_BY_ZERO
|
对应于 #DIV/0 错误。
|
VALUE
|
对应于 #VALUE! 错误。
|
REF
|
对应于 #REF! 错误。
|
NAME
|
对应于 #NAME? 错误。
|
NUM
|
对应于 #NUM! 错误。
|
N_A
|
对应于 #N/A 错误。
|
LOADING
|
对应于 Loading... 状态。
|
BooleanCondition
评估结果为 true 或 false 的条件。BooleanConditions 用于条件格式设置、数据验证和过滤条件中的条件。
JSON 表示法 |
---|
{ "type": enum ( |
字段 | |
---|---|
type
|
条件的类型。 |
values[]
|
条件的值。支持的值的数量取决于 |
ConditionType
条件的类型。
枚举 | |
---|---|
CONDITION_TYPE_UNSPECIFIED
|
默认值,请勿使用。 |
NUMBER_GREATER
|
单元格的值必须大于条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
NUMBER_GREATER_THAN_EQ
|
单元格的值必须大于或等于条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
NUMBER_LESS
|
单元格的值必须小于条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
NUMBER_LESS_THAN_EQ
|
单元格的值必须小于或等于条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
NUMBER_EQ
|
单元格的值必须等于条件的值。受数据验证、条件格式和过滤条件支持。需要一个 ConditionValue 来进行数据验证、条件格式设置以及非数据源对象的过滤条件,并且至少需要一个 ConditionValue 来对数据源对象进行过滤。
|
NUMBER_NOT_EQ
|
单元格的值不得等于条件的值。受数据验证、条件格式和过滤条件支持。需要一个 ConditionValue 来进行数据验证、条件格式设置以及非数据源对象的过滤条件,并且至少需要一个 ConditionValue 来对数据源对象进行过滤。
|
NUMBER_BETWEEN
|
单元格的值必须介于两个条件值之间。受数据验证、条件格式和过滤条件支持。需要正好两个 ConditionValues 。
|
NUMBER_NOT_BETWEEN
|
单元格的值不得介于两个条件值之间。受数据验证、条件格式和过滤条件支持。需要正好两个 ConditionValues 。
|
TEXT_CONTAINS
|
单元格的值必须包含条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
TEXT_NOT_CONTAINS
|
单元格的值不得包含条件的值。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue 。 |
TEXT_STARTS_WITH
|
单元格的值必须以条件的值开头。受条件格式和过滤条件支持。需要单个 ConditionValue 。 |
TEXT_ENDS_WITH
|
单元格的值必须以条件的值结尾。受条件格式和过滤条件支持。需要单个 ConditionValue 。 |
TEXT_EQ
|
单元格的值必须与条件的值完全一致。受数据验证、条件格式和过滤条件支持。需要一个 ConditionValue 来进行数据验证、条件格式设置以及非数据源对象的过滤条件,并且至少需要一个 ConditionValue 来对数据源对象进行过滤。
|
TEXT_IS_EMAIL
|
此单元格的值必须是有效的电子邮件地址。由数据验证提供支持。不需要 ConditionValues 。 |
TEXT_IS_URL
|
此单元格的值必须是有效网址。由数据验证提供支持。不需要 ConditionValues 。 |
DATE_EQ
|
单元格的值必须与条件的值相同。受数据验证、条件格式和过滤条件支持。需要一个 ConditionValue 来进行数据验证、条件格式设置以及非数据源对象的过滤条件,并且至少需要一个 ConditionValue 来对数据源对象进行过滤。
|
DATE_BEFORE
|
单元格的值必须早于条件的值的日期。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue ,它可以是 relative date 。
|
DATE_AFTER
|
单元格的值必须晚于条件的值的日期。受数据验证、条件格式和过滤条件支持。需要单个 ConditionValue ,它可以是 relative date 。
|
DATE_ON_OR_BEFORE
|
单元格的值不得晚于条件的值的日期。由数据验证提供支持。需要单个 ConditionValue ,它可以是 relative date 。
|
DATE_ON_OR_AFTER
|
单元格的值不得早于条件的值的日期。由数据验证提供支持。需要单个 ConditionValue ,它可以是 relative date 。
|
DATE_BETWEEN
|
单元格的值必须介于两个条件值的日期之间。由数据验证提供支持。需要正好两个 ConditionValues 。
|
DATE_NOT_BETWEEN
|
单元格的值必须在两个条件值的日期范围之内。由数据验证提供支持。需要正好两个 ConditionValues 。
|
DATE_IS_VALID
|
此单元格的值必须是日期。由数据验证提供支持。不需要 ConditionValues 。 |
ONE_OF_RANGE
|
单元格的值必须列在条件值范围的网格中。由数据验证提供支持。需要单个 ConditionValue ,且值必须是采用 A1 表示法的有效范围。 |
ONE_OF_LIST
|
单元格的值必须在条件值列表中。由数据验证提供支持。支持任意数量的 condition values ,列表中每个条目一个。值不支持公式。
|
BLANK
|
单元格的值必须为空。受条件格式和过滤条件支持。不需要 ConditionValues 。 |
NOT_BLANK
|
单元格的值不能为空。受条件格式和过滤条件支持。不需要 ConditionValues 。 |
CUSTOM_FORMULA
|
条件公式的计算结果必须为 true。受数据验证、条件格式和过滤条件支持。数据源工作表过滤条件不支持。需要单个 ConditionValue 。 |
BOOLEAN
|
单元格的值必须为 TRUE/FALSE,或者在条件值列表中。由数据验证提供支持。“以单元格形式呈现”复选框。支持 0 个、1 个或 2 个 ConditionValues 。无值表示单元格必须为 TRUE 或 FALSE,其中 TRUE 表示为选中,FALSE 表示为未选中。一个值表示当单元格包含该值时将呈现为选中状态,而在空白处呈现时则处于未选中状态。两个值都表示,当该单元格包含第一个值时,将呈现为选中状态;当该单元格包含第二个值时,呈现为未选中状态。例如,["Yes","No"] 表示当单元格的值为“Yes”时,呈现选中的复选框;当值为“No”时,呈现未选中的复选框。
|
TEXT_NOT_EQ
|
单元格的值必须与条件的值完全一致。受数据源对象的过滤条件支持。至少需要一个 ConditionValue 。 |
DATE_NOT_EQ
|
单元格的值必须与条件的值完全一致。受数据源对象的过滤条件支持。至少需要一个 ConditionValue 。 |
FILTER_EXPRESSION
|
单元格的值必须遵循指定的模式。需要单个 ConditionValue 。 |
ConditionValue
条件的值。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 value 。条件的值,必须设置一个。
value 只能是下列其中一项:
|
|
relativeDate
|
相对日期(基于当前日期)。仅当 数据验证不支持相对日期。过滤条件仅在条件格式和条件过滤条件中受支持。 |
userEnteredValue
|
条件所依据的值。系统会像用户输入单元格一样解析该值。系统支持使用公式(必须以 |
RelativeDate
控制日期条件的评估方式。
枚举 | |
---|---|
RELATIVE_DATE_UNSPECIFIED
|
默认值,请勿使用。 |
PAST_YEAR
|
该值是一年前的今天。 |
PAST_MONTH
|
值为比今天早一个月。 |
PAST_WEEK
|
值为比今天早一周。 |
YESTERDAY
|
值为昨天。 |
TODAY
|
其值为今天。 |
TOMORROW
|
其值为明天。 |
GridRange
工作表中的范围。所有索引都是从零开始。索引是半开的,即起始索引包含,结束索引不包含,即 [startIndex, endIndex)。如果缺少索引,则表示范围在这一侧没有界限。
例如,如果 "Sheet1"
是工作表 ID 123456,则:
Sheet1!A1:A1 == sheetId: 123456,
startRowIndex: 0, endRowIndex: 1,
startColumnIndex: 0, endColumnIndex: 1
Sheet1!A3:B4 == sheetId: 123456,
startRowIndex: 2, endRowIndex: 4,
startColumnIndex: 0, endColumnIndex: 2
Sheet1!A:B == sheetId: 123456,
startColumnIndex: 0, endColumnIndex: 2
Sheet1!A5:B == sheetId: 123456,
startRowIndex: 4,
startColumnIndex: 0, endColumnIndex: 2
Sheet1 == sheetId: 123456
起始索引必须始终小于或等于结束索引。如果起始索引等于结束索引,则范围为空。空范围通常没有意义,并且通常在界面中呈现为 #REF!
。
JSON 表示法 |
---|
{ "sheetId": integer, "startRowIndex": integer, "endRowIndex": integer, "startColumnIndex": integer, "endColumnIndex": integer } |
字段 | |
---|---|
sheetId
|
此范围所在的工作表。 |
startRowIndex
|
范围的起始行(含边界值),如果无界限则不设置。 |
endRowIndex
|
范围的结束行(不含边界值),如果无界限则不设置。 |
startColumnIndex
|
范围的起始列(含边界值),如果无界限则不设置。 |
endColumnIndex
|
范围的结束列(不含列),如果无限制,则不设置此字段。 |
SortOrder
排序顺序。
枚举 | |
---|---|
SORT_ORDER_UNSPECIFIED
|
默认值,请勿使用。 |
ASCENDING
|
升序排序。 |
DESCENDING
|
降序排序。 |
FilterSpec
与特定列相关联的过滤条件。
JSON 表示法 |
---|
{ "filterCriteria": { object ( |
字段 | |
---|---|
filterCriteria
|
列的条件。 |
联合字段 reference 。对已过滤列的引用。
reference 只能是下列其中一项:
|
|
columnIndex
|
从零开始的列索引。 |
dataSourceColumnReference
|
对数据源列的引用。 |
FilterCriteria
在过滤视图或过滤视图中显示/隐藏行的条件。
JSON 表示法 |
---|
{ "hiddenValues": [ string ], "condition": { object ( |
字段 | |
---|---|
condition
|
必须设为 true 才能显示值的条件。(这不会替换 |
visibleBackgroundColor
|
要作为过滤条件的背景填充颜色;仅显示采用此填充颜色的单元格。它与 |
visibleBackgroundColorStyle
|
要作为过滤条件的背景填充颜色;仅显示采用此填充颜色的单元格。此字段与 |
visibleForegroundColor
|
要作为过滤依据的前景色;仅显示采用此前景色的单元格。它与 |
visibleForegroundColorStyle
|
要作为过滤依据的前景色;仅显示采用此前景色的单元格。此字段与 |
SortSpec
与特定列或行关联的排序顺序。
JSON 表示法 |
---|
{ "sortOrder": enum ( |
字段 | |
---|---|
sortOrder
|
应对订单数据进行排序。 |
foregroundColor
|
要排序的前景色;采用此前景色的单元格将排在顶部。它与 |
foregroundColorStyle
|
要排序的前景色;采用此前景色的单元格将排在顶部。它与 |
backgroundColor
|
要排序的背景填充颜色;采用此填充颜色的单元格排在顶部。它与 |
backgroundColorStyle
|
要排序的背景填充颜色;采用此填充颜色的单元格排在顶部。它与 |
联合字段 reference 。对已排序的维度的引用。
reference 只能是下列其中一项:
|
|
dimensionIndex
|
要对其应用排序的维度。 |
dataSourceColumnReference
|
对数据源列的引用。 |
EmbeddedObjectPosition
嵌入对象(例如图表)的位置。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 location 。对象的位置。且只能设置一个值。
location 只能是下列其中一项:
|
|
sheetId
|
当前所在的工作表。仅当嵌入的对象位于其自身工作表中时,才需要设置。必须为非负数。 |
overlayPosition
|
对象在网格之上叠加的位置。 |
newSheet
|
如果为 true,系统会将嵌入的对象放在为您选择 ID 的新工作表中。仅在写入时使用。 |
OverlayPosition
对象在网格之上的叠加位置。
JSON 表示法 |
---|
{
"anchorCell": {
object (
|
字段 | |
---|---|
anchorCell
|
该对象锚定的单元格。 |
offsetXPixels
|
对象相对于锚点单元格的水平偏移量(以像素为单位)。 |
offsetYPixels
|
对象相对于锚点单元格的偏移量(以像素为单位)。 |
widthPixels
|
对象的宽度(以像素为单位)。默认值为 600。 |
heightPixels
|
对象的高度(以像素为单位)。默认值为 371。 |
GridCoordinate
工作表中的坐标。所有索引均从零开始。
JSON 表示法 |
---|
{ "sheetId": integer, "rowIndex": integer, "columnIndex": integer } |
字段 | |
---|---|
sheetId
|
此坐标所在的工作表。 |
rowIndex
|
坐标的行索引。 |
columnIndex
|
坐标的列索引。 |