Excel.Application class
表示用于管理工作簿的 Excel 应用程序。
注解
属性
| active |
返回一个 |
| calculation |
返回用于上次完整重新计算的 Excel 计算引擎版本。 |
| calculation |
返回工作簿中使用的计算模式,由 中的 |
| calculation |
返回应用程序的计算状态。 有关详细信息,请参阅 |
| context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 |
| culture |
提供基于当前系统区域性设置的信息。 这包括区域性名称、数字格式和其他区域性相关设置。 |
| decimal |
获取用作数值的小数分隔符的字符串。 这基于本地 Excel 设置。 |
| format |
指定是启用还是禁用“计算选项”中的“设置过时值格式”选项。 如果启用 选项,则会使用过时格式呈现过时的公式。 |
| iterative |
返回迭代计算设置。 在 Windows 和 Mac 上的 Excel 中,设置将应用于 Excel 应用程序。 在Excel web 版和其他平台中,这些设置将应用于活动工作簿。 |
| thousands |
获取用于分隔数值的十进制数左侧的数字组的字符串。 这基于本地 Excel 设置。 |
| use |
指定是否启用 Excel 的系统分隔符。 系统分隔符包括小数分隔符和千位分隔符。 |
| windows | 返回所有打开的 Excel 窗口。 |
方法
| calculate(calculation |
重新计算 Excel 中当前打开的所有工作簿。 |
| calculate(calculation |
重新计算 Excel 中当前打开的所有工作簿。 |
| check |
对单个单词进行拼写检查。
|
| enter |
进入活动工作表中所选区域的编辑模式。 此方法等效于在 Excel UI 中选择单元格或区域时使用“F2”。 |
| load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| load(property |
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 |
| set(properties, options) | 同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。 |
| set(properties) | 基于现有的已加载对象,同时对对象设置多个属性。 |
| suspend |
暂停计算,直到调用下一个 |
| suspend |
暂停屏幕更新,直到调用下一个
注意*:不要重复调用 |
| toJSON() | 重写 JavaScript |
| union(first |
返回一个 |
属性详细信息
activeWindow
返回一个 window 对象,该对象表示活动窗口 (顶部) 窗口。 只读。
readonly activeWindow: Excel.Window;
属性值
注解
calculationEngineVersion
返回用于上次完整重新计算的 Excel 计算引擎版本。
readonly calculationEngineVersion: number;
属性值
number
注解
calculationMode
返回工作簿中使用的计算模式,由 中的 Excel.CalculationMode常量定义。 可能的值为:Automatic,其中 Excel 控制重新计算;,AutomaticExceptTables其中 Excel 控制重新计算,但忽略表中的更改;Manual其中,计算在用户请求时完成。
calculationMode: Excel.CalculationMode | "Automatic" | "AutomaticExceptTables" | "Manual";
属性值
Excel.CalculationMode | "Automatic" | "AutomaticExceptTables" | "Manual"
注解
calculationState
返回应用程序的计算状态。 有关详细信息,请参阅 Excel.CalculationState。
readonly calculationState: Excel.CalculationState | "Done" | "Calculating" | "Pending";
属性值
Excel.CalculationState | "Done" | "Calculating" | "Pending"
注解
context
cultureInfo
提供基于当前系统区域性设置的信息。 这包括区域性名称、数字格式和其他区域性相关设置。
readonly cultureInfo: Excel.CultureInfo;
属性值
注解
decimalSeparator
获取用作数值的小数分隔符的字符串。 这基于本地 Excel 设置。
readonly decimalSeparator: string;
属性值
string
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/culture-info.yaml
await Excel.run(async (context) => {
context.application.load("decimalSeparator,thousandsSeparator");
context.application.cultureInfo.numberFormat.load("numberDecimalSeparator,numberGroupSeparator");
await context.sync();
// Local settings are set under the "Options > Advanced" menu.
const localDecimalSeparator = context.application.decimalSeparator;
const localThousandsSeparator = context.application.thousandsSeparator;
const systemDecimalSeparator = context.application.cultureInfo.numberFormat.numberDecimalSeparator;
const systemThousandsSeparator = context.application.cultureInfo.numberFormat.numberGroupSeparator;
console.log("Local character settings: ");
console.log(` Local decimal separator: ${localDecimalSeparator}`);
console.log(` Local thousands separator: ${localThousandsSeparator}`);
console.log("System culture settings: ");
console.log(` System decimal separator: ${systemDecimalSeparator}`);
console.log(` System thousands separator: ${systemThousandsSeparator}`);
console.log(` `);
await context.sync();
});
formatStaleValues
注意
此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。
指定是启用还是禁用“计算选项”中的“设置过时值格式”选项。 如果启用 选项,则会使用过时格式呈现过时的公式。
formatStaleValues: boolean;
属性值
boolean
注解
iterativeCalculation
返回迭代计算设置。 在 Windows 和 Mac 上的 Excel 中,设置将应用于 Excel 应用程序。 在Excel web 版和其他平台中,这些设置将应用于活动工作簿。
readonly iterativeCalculation: Excel.IterativeCalculation;
属性值
注解
thousandsSeparator
获取用于分隔数值的十进制数左侧的数字组的字符串。 这基于本地 Excel 设置。
readonly thousandsSeparator: string;
属性值
string
注解
useSystemSeparators
指定是否启用 Excel 的系统分隔符。 系统分隔符包括小数分隔符和千位分隔符。
readonly useSystemSeparators: boolean;
属性值
boolean
注解
windows
返回所有打开的 Excel 窗口。
readonly windows: Excel.WindowCollection;
属性值
注解
方法详细信息
calculate(calculationType)
重新计算 Excel 中当前打开的所有工作簿。
calculate(calculationType: Excel.CalculationType): void;
参数
- calculationType
- Excel.CalculationType
指定要使用的计算类型。 有关详细信息,请参阅 Excel.CalculationType。
返回
void
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/90-scenarios/performance-optimization.yaml
await Excel.run(async (context) => {
context.application.calculate(Excel.CalculationType.full);
});
calculate(calculationType)
重新计算 Excel 中当前打开的所有工作簿。
calculate(calculationType: "Recalculate" | "Full" | "FullRebuild"): void;
参数
- calculationType
-
"Recalculate" | "Full" | "FullRebuild"
指定要使用的计算类型。 有关详细信息,请参阅 Excel.CalculationType。
返回
void
注解
示例
await Excel.run(async (context) => {
context.workbook.application.calculate('Full');
await context.sync();
});
checkSpelling(word, options)
对单个单词进行拼写检查。
true如果单词拼写正确,则返回 ;否则返回 false。
checkSpelling(word: string, options?: Excel.CheckSpellingOptions): OfficeExtension.ClientResult<boolean>;
参数
- word
-
string
要检查的单词。
- options
- Excel.CheckSpellingOptions
可选。 用于检查拼写的选项。
返回
OfficeExtension.ClientResult<boolean>
注解
enterEditingMode()
进入活动工作表中所选区域的编辑模式。 此方法等效于在 Excel UI 中选择单元格或区域时使用“F2”。
enterEditingMode(): void;
返回
void
注解
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(options?: Excel.Interfaces.ApplicationLoadOptions): Excel.Application;
参数
提供要加载对象的属性的选项。
返回
load(propertyNames)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNames?: string | string[]): Excel.Application;
参数
- propertyNames
-
string | string[]
逗号分隔的字符串或指定要加载的属性的字符串数组。
返回
示例
await Excel.run(async (context) => {
const application = context.workbook.application;
application.load('calculationMode');
await context.sync();
console.log(application.calculationMode);
});
load(propertyNamesAndPaths)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Excel.Application;
参数
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select 是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand 一个逗号分隔的字符串,指定要加载的导航属性。
返回
set(properties, options)
同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。
set(properties: Interfaces.ApplicationUpdateData, options?: OfficeExtension.UpdateOptions): void;
参数
- properties
- Excel.Interfaces.ApplicationUpdateData
一个 JavaScript 对象,其属性按同构方式构造为调用方法的对象的属性。
- options
- OfficeExtension.UpdateOptions
提供一个选项,用于在 properties 对象尝试设置任何只读属性时禁止显示错误。
返回
void
set(properties)
基于现有的已加载对象,同时对对象设置多个属性。
set(properties: Excel.Application): void;
参数
- properties
- Excel.Application
返回
void
suspendApiCalculationUntilNextSync()
暂停计算,直到调用下一个 context.sync() 。 设置后,开发者负责重新计算工作簿,以确保传播所有依赖项。
suspendApiCalculationUntilNextSync(): void;
返回
void
注解
suspendScreenUpdatingUntilNextSync()
暂停屏幕更新,直到调用下一个 context.sync() 。
注意*:不要重复调用 suspendScreenUpdatingUntilNextSync (,例如循环) 。 重复调用将导致 Excel 窗口闪烁。
suspendScreenUpdatingUntilNextSync(): void;
返回
void
注解
示例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/90-scenarios/performance-optimization.yaml
await Excel.run(async (context) => {
// Recreate the data in the worksheet with random data.
const sheet = context.workbook.worksheets.getActiveWorksheet();
const startTime = Date.now();
console.log("Starting...");
// If other parts of the sample have toggled screen painting off, this will stop screen updating until context.sync is called.
if (pauseScreenPainting) {
context.application.suspendScreenUpdatingUntilNextSync();
}
for (let i = 1; i < ROW_COUNT; i++) {
for (let j = 1; j < COLUMN_COUNT; j++) {
let cell = sheet.getCell(i, j);
cell.values = [[i * j * Math.random()]];
// If other parts of the sample have toggled tracking off, we will avoid tracking this range and having to manage the proxy objects.
// For more information, see https://free.blessedness.top/office/dev/add-ins/concepts/resource-limits-and-performance-optimization#untrack-unneeded-proxy-objects
if (untrack) {
cell.untrack();
}
}
}
await context.sync();
console.log(`Ending. Adding ${ROW_COUNT * COLUMN_COUNT} cells took ${Date.now() - startTime} milliseconds`);
});
toJSON()
重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。
JSON.stringify
(,依次调用toJSON传递给它的 对象的 方法。) 虽然原始Excel.Application对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.ApplicationData) ,其中包含从原始对象加载的任何子属性的浅表副本。
toJSON(): Excel.Interfaces.ApplicationData;
返回
union(firstRange, secondRange, additionalRanges)
返回一个 RangeAreas 对象,该对象代表两个或更多 Range 个 或 RangeAreas 对象的并集。 输入 Range 或 RangeAreas 对象必须来自同一工作表。 参数的最大数目为 30,包括前两个参数。
union(firstRange: Range | RangeAreas, secondRange: Range | RangeAreas, ...additionalRanges: (Range | RangeAreas)[]): Excel.RangeAreas;
参数
- firstRange
第一个 Range 或 RangeAreas 对象。
- secondRange
第二 Range 个 或 RangeAreas 对象。
- additionalRanges
-
(Excel.Range | Excel.RangeAreas)[]
可选。 要 Range 包括在联合中的其他 或 RangeAreas 对象,最多再包含 28 个。