Excel.ConditionalFormat class
一个对象,该对象封装条件格式的范围、格式、规则和其他属性。 若要了解有关条件格式对象模型的详细信息,请阅读 将条件格式应用于 Excel 区域。
- 扩展
注解
属性
cell |
如果当前条件格式是 |
cell |
如果当前条件格式是 |
color |
如果当前条件格式是 |
color |
如果当前条件格式是 |
context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
custom | 如果当前条件格式是自定义类型,则返回自定义条件格式属性。 |
custom |
如果当前条件格式是自定义类型,则返回自定义条件格式属性。 |
data |
如果当前条件格式为数据条,则返回数据条属性。 |
data |
如果当前条件格式为数据条,则返回数据条属性。 |
icon |
如果当前条件格式是类型 |
icon |
如果当前条件格式是类型 |
id | 当前 |
preset | 返回预设条件条件格式。 有关详细信息,请参阅 |
preset |
返回预设条件条件格式。 有关详细信息,请参阅 |
priority | 此条件格式当前存在于的条件格式集合中的优先级 (或索引) 。 更改此项还会更改其他条件格式的优先级,以允许连续的优先级顺序。 使用负优先级从后面开始。 如果优先级为负) ,则大于边界的优先级将设置为最大 (或最小值。 另请注意,如果更改优先级,则必须在该新优先级位置重新提取对象的新副本,以便对其进行进一步更改。 |
stop |
如果满足此条件格式的条件,则不会有任何低优先级格式应在此单元格上生效。 值位于 |
text |
如果当前条件格式是文本类型,则返回特定的文本条件格式属性。 例如,设置与单词“Text”匹配的单元格的格式。 |
text |
如果当前条件格式是文本类型,则返回特定的文本条件格式属性。 例如,设置与单词“Text”匹配的单元格的格式。 |
top |
如果当前条件格式是类型 |
top |
如果当前条件格式是类型 |
type | 条件格式的类型。 一次只能设置一个。 |
方法
delete() | 删除此条件格式。 |
get |
返回应用条件格式的范围。 如果条件格式应用于多个区域,则引发错误。 |
get |
返回应用 conditonal 格式的范围。 如果条件格式应用于多个区域,则此方法返回一个 对象,其 |
get |
返回 , |
load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
set(properties, options) | 同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。 |
set(properties) | 基于现有的已加载对象,同时对对象设置多个属性。 |
toJSON() | 重写 JavaScript |
属性详细信息
cellValue
如果当前条件格式是 CellValue
类型,则返回单元格值条件格式属性。
readonly cellValue: Excel.CellValueConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B21:E23");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.cellValue);
conditionalFormat.cellValue.format.font.color = "red";
conditionalFormat.cellValue.rule = { formula1: "=0", operator: "LessThan" };
await context.sync();
});
cellValueOrNullObject
如果当前条件格式是 CellValue
类型,则返回单元格值条件格式属性。
readonly cellValueOrNullObject: Excel.CellValueConditionalFormat;
属性值
注解
colorScale
如果当前条件格式是 ColorScale
类型,则返回色阶条件格式属性。
readonly colorScale: Excel.ColorScaleConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B2:M5");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.colorScale);
const criteria = {
minimum: { formula: null, type: Excel.ConditionalFormatColorCriterionType.lowestValue, color: "blue" },
midpoint: { formula: "50", type: Excel.ConditionalFormatColorCriterionType.percent, color: "yellow" },
maximum: { formula: null, type: Excel.ConditionalFormatColorCriterionType.highestValue, color: "red" }
};
conditionalFormat.colorScale.criteria = criteria;
await context.sync();
});
colorScaleOrNullObject
如果当前条件格式是 ColorScale
类型,则返回色阶条件格式属性。
readonly colorScaleOrNullObject: Excel.ColorScaleConditionalFormat;
属性值
注解
context
custom
如果当前条件格式是自定义类型,则返回自定义条件格式属性。
readonly custom: Excel.CustomConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B8:E13");
const conditionalFormat = range.conditionalFormats.add(Excel.ConditionalFormatType.custom);
conditionalFormat.custom.rule.formula = '=IF(B8>INDIRECT("RC[-1]",0),TRUE)';
conditionalFormat.custom.format.font.color = "green";
await context.sync();
});
customOrNullObject
如果当前条件格式是自定义类型,则返回自定义条件格式属性。
readonly customOrNullObject: Excel.CustomConditionalFormat;
属性值
注解
dataBar
如果当前条件格式为数据条,则返回数据条属性。
readonly dataBar: Excel.DataBarConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B8:E13");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.dataBar);
conditionalFormat.dataBar.barDirection = Excel.ConditionalDataBarDirection.leftToRight;
await context.sync();
});
dataBarOrNullObject
如果当前条件格式为数据条,则返回数据条属性。
readonly dataBarOrNullObject: Excel.DataBarConditionalFormat;
属性值
注解
iconSet
如果当前条件格式是类型 IconSet
,则返回图标集条件格式属性。
readonly iconSet: Excel.IconSetConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B8:E13");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.iconSet);
const iconSetCF = conditionalFormat.iconSet;
iconSetCF.style = Excel.IconSet.threeTriangles;
/*
The iconSetCF.criteria array is automatically prepopulated with
criterion elements whose properties have been given default settings.
You can't write to each property of a criterion directly. Instead,
replace the whole criteria object.
With a "three*" icon set style, such as "threeTriangles", the third
element in the criteria array (criteria[2]) defines the "top" icon;
e.g., a green triangle. The second (criteria[1]) defines the "middle"
icon. The first (criteria[0]) defines the "low" icon, but it
can often be left empty as the following object shows, because every
cell that does not match the other two criteria always gets the low
icon.
*/
iconSetCF.criteria = [
{} as any,
{
type: Excel.ConditionalFormatIconRuleType.number,
operator: Excel.ConditionalIconCriterionOperator.greaterThanOrEqual,
formula: "=700"
},
{
type: Excel.ConditionalFormatIconRuleType.number,
operator: Excel.ConditionalIconCriterionOperator.greaterThanOrEqual,
formula: "=1000",
}
];
await context.sync();
});
iconSetOrNullObject
如果当前条件格式是类型 IconSet
,则返回图标集条件格式属性。
readonly iconSetOrNullObject: Excel.IconSetConditionalFormat;
属性值
注解
id
preset
返回预设条件条件格式。 有关详细信息,请参阅 Excel.PresetCriteriaConditionalFormat
。
readonly preset: Excel.PresetCriteriaConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B2:M5");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.presetCriteria);
conditionalFormat.preset.format.font.color = "white";
conditionalFormat.preset.rule = { criterion: Excel.ConditionalFormatPresetCriterion.oneStdDevAboveAverage };
await context.sync();
});
presetOrNullObject
返回预设条件条件格式。 有关详细信息,请参阅 Excel.PresetCriteriaConditionalFormat
。
readonly presetOrNullObject: Excel.PresetCriteriaConditionalFormat;
属性值
注解
priority
此条件格式当前存在于的条件格式集合中的优先级 (或索引) 。 更改此项还会更改其他条件格式的优先级,以允许连续的优先级顺序。 使用负优先级从后面开始。 如果优先级为负) ,则大于边界的优先级将设置为最大 (或最小值。 另请注意,如果更改优先级,则必须在该新优先级位置重新提取对象的新副本,以便对其进行进一步更改。
priority: number;
属性值
number
注解
stopIfTrue
如果满足此条件格式的条件,则不会有任何低优先级格式应在此单元格上生效。 值位于 null
数据条、图标集和色阶上,因为这些值没有概念 StopIfTrue
。
stopIfTrue: boolean;
属性值
boolean
注解
textComparison
如果当前条件格式是文本类型,则返回特定的文本条件格式属性。 例如,设置与单词“Text”匹配的单元格的格式。
readonly textComparison: Excel.TextConditionalFormat;
属性值
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const range = sheet.getRange("B16:D18");
const conditionalFormat = range.conditionalFormats
.add(Excel.ConditionalFormatType.containsText);
conditionalFormat.textComparison.format.font.color = "red";
conditionalFormat.textComparison.rule = { operator: Excel.ConditionalTextOperator.contains, text: "Delayed" };
await context.sync();
});
textComparisonOrNullObject
如果当前条件格式是文本类型,则返回特定的文本条件格式属性。 例如,设置与单词“Text”匹配的单元格的格式。
readonly textComparisonOrNullObject: Excel.TextConditionalFormat;
属性值
注解
topBottom
如果当前条件格式是类型 TopBottom
,则返回顶部/底部的条件格式属性。 例如,设置前 10% 或后 10 个项目的格式。
readonly topBottom: Excel.TopBottomConditionalFormat;
属性值
注解
topBottomOrNullObject
如果当前条件格式是类型 TopBottom
,则返回顶部/底部的条件格式属性。 例如,设置前 10% 或后 10 个项目的格式。
readonly topBottomOrNullObject: Excel.TopBottomConditionalFormat;
属性值
注解
type
条件格式的类型。 一次只能设置一个。
readonly type: Excel.ConditionalFormatType | "Custom" | "DataBar" | "ColorScale" | "IconSet" | "TopBottom" | "PresetCriteria" | "ContainsText" | "CellValue";
属性值
Excel.ConditionalFormatType | "Custom" | "DataBar" | "ColorScale" | "IconSet" | "TopBottom" | "PresetCriteria" | "ContainsText" | "CellValue"
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const worksheetRange = sheet.getRange();
worksheetRange.conditionalFormats.load("type");
await context.sync();
let cfRangePairs: { cf: Excel.ConditionalFormat, range: Excel.Range }[] = [];
worksheetRange.conditionalFormats.items.forEach(item => {
cfRangePairs.push({
cf: item,
range: item.getRange().load("address")
});
});
await context.sync();
if (cfRangePairs.length > 0) {
cfRangePairs.forEach(item => {
console.log(item.cf.type);
});
} else {
console.log("No conditional formats applied.");
}
});
方法详细信息
delete()
getRange()
返回应用条件格式的范围。 如果条件格式应用于多个区域,则引发错误。
getRange(): Excel.Range;
返回
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/14-conditional-formatting/conditional-formatting-basic.yaml
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getItem("Sample");
const worksheetRange = sheet.getRange();
worksheetRange.conditionalFormats.load("type");
await context.sync();
let cfRangePairs: { cf: Excel.ConditionalFormat, range: Excel.Range }[] = [];
worksheetRange.conditionalFormats.items.forEach(item => {
cfRangePairs.push({
cf: item,
range: item.getRange().load("address")
});
});
await context.sync();
if (cfRangePairs.length > 0) {
cfRangePairs.forEach(item => {
console.log(item.cf.type);
});
} else {
console.log("No conditional formats applied.");
}
});
getRangeOrNullObject()
返回应用 conditonal 格式的范围。 如果条件格式应用于多个区域,则此方法返回一个 对象,其 isNullObject
属性设置为 true
。 有关详细信息,请参阅 *OrNullObject 方法和属性。
getRangeOrNullObject(): Excel.Range;
返回
注解
getRanges()
返回 , RangeAreas
它包含一个或多个矩形区域,将应用 conditonal 格式。
getRanges(): Excel.RangeAreas;
返回
注解
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(options?: Excel.Interfaces.ConditionalFormatLoadOptions): Excel.ConditionalFormat;
参数
提供要加载对象的属性的选项。
返回
load(propertyNames)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNames?: string | string[]): Excel.ConditionalFormat;
参数
- propertyNames
-
string | string[]
逗号分隔的字符串或指定要加载的属性的字符串数组。
返回
load(propertyNamesAndPaths)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()
。
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Excel.ConditionalFormat;
参数
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand
一个逗号分隔的字符串,指定要加载的导航属性。
返回
set(properties, options)
同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。
set(properties: Interfaces.ConditionalFormatUpdateData, options?: OfficeExtension.UpdateOptions): void;
参数
- properties
- Excel.Interfaces.ConditionalFormatUpdateData
一个 JavaScript 对象,其属性按同构方式构造为调用方法的对象的属性。
- options
- OfficeExtension.UpdateOptions
提供一个选项,用于在 properties 对象尝试设置任何只读属性时禁止显示错误。
返回
void
set(properties)
基于现有的已加载对象,同时对对象设置多个属性。
set(properties: Excel.ConditionalFormat): void;
参数
- properties
- Excel.ConditionalFormat
返回
void
toJSON()
重写 JavaScript toJSON()
方法,以便在将 API 对象传递给 JSON.stringify()
时提供更有用的输出。
JSON.stringify
(,反过来又调用toJSON
传递给它的 对象的 方法。) 虽然原始 Excel.ConditionalFormat 对象是 API 对象,但toJSON
该方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.ConditionalFormatData
) ,该对象包含从原始对象加载的任何子属性的浅表副本。
toJSON(): Excel.Interfaces.ConditionalFormatData;