颜色
表示 RGBA 颜色空间中的一种颜色。这种表示法旨在简化与各种语言中的颜色表示法之间的转换,而不是紧凑的转换。例如,我们可以轻松地将此表示法中的字段提供给
java.awt.Color
使用 Java ;也可以轻松地将它提供给
+colorWithRed:green:blue:alpha
方法;只需稍加努力,它就可以轻松格式化为 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
|
数据源对象当前处于错误状态。要强制刷新,请将
force
在
RefreshDataSourceRequest 。
|
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
|
单元格的值必须早于条件值的日期。受数据验证、条件格式和过滤器支持。需要单个
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
|
坐标的列索引。 |