颜色
表示 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 的条件。布尔值条件可用于条件格式、数据验证和过滤器中的条件。
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
|
单元格的值必须早于条件值的日期。受数据验证、条件格式和过滤器支持。需要一个可能为 relative date 的 ConditionValue 。 |
DATE_AFTER
|
单元格的值必须晚于条件值的日期。受数据验证、条件格式和过滤器支持。需要一个可能为 relative date 的 ConditionValue 。 |
DATE_ON_OR_BEFORE
|
单元格的值必须在条件值的日期当天或之前。受数据验证支持。需要一个可能为 relative date 的 ConditionValue 。
|
DATE_ON_OR_AFTER
|
单元格的值不能早于条件值的日期。受数据验证支持。需要一个可能为 relative date 的 ConditionValue 。 |
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,或在条件值列表中。受数据验证支持。以单元格复选框的形式呈现。支持零个、一个或两个 ConditionValues 。不指定值表示单元格必须为 TRUE 或 FALSE,其中 TRUE 会呈现为已选中,而 FALSE 会呈现为未选中。一个值表示当单元格包含该值时,将呈现为勾选状态;当单元格为空时,将呈现为未勾选状态。两个值表示,当单元格包含第一个值时,将呈现为勾选状态;当单元格包含第二个值时,将呈现为未勾选状态。例如,[“是”“否”] 表示当单元格值为“是”时,系统会呈现选中复选框,当单元格值为“否”时,系统会呈现未选中复选框。
|
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
工作表中的坐标。所有索引均从 0 开始。
JSON 表示法 |
---|
{ "sheetId": integer, "rowIndex": integer, "columnIndex": integer } |
字段 | |
---|---|
sheetId
|
此坐标所在的工作表。 |
rowIndex
|
坐标的行索引。 |
columnIndex
|
坐标的列编号。 |