Excel.Application class

表示用于管理工作簿的 Excel 应用程序。

扩展

属性

activeWindow

返回 window 表示活动窗口 (顶部窗口) 的对象。 此为只读属性。

calculationEngineVersion

返回用于上次完整重新计算的 Excel 计算引擎版本。

calculationMode

返回工作簿中使用的计算模式,如 中的 Excel.CalculationMode常量定义。 可能的值为:Automatic,其中 Excel 控制重新计算;AutomaticExceptTables,其中 Excel 控制重新计算,但忽略表中的更改;Manual,其中,当用户请求时执行计算。 这是运行时属性。 该 calculationMode 设置不会保留在工作簿中。

calculationState

返回应用程序的计算状态。 有关详细信息,请参阅 Excel.CalculationState

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

cultureInfo

基于当前系统区域性设置提供信息。 这包括区域性名称、数字格式和其他依赖于区域性的设置。

decimalSeparator

获取用作数字值的小数分隔符的字符串。 这基于本地 Excel 设置。

formatStaleValues

指定是启用还是禁用计算选项中的过时值格式选项。 如果启用了该选项,过时的公式将使用过时的格式呈现。

iterativeCalculation

返回迭代计算设置。 在 Windows 版和 Mac 版 Excel 中,这些设置将应用于 Excel 应用程序。 在 Excel web 版和其他平台上,设置将应用于活动工作簿。

thousandsSeparator

获取用于分隔数字值的小数点左侧数字组的字符串。 这基于本地 Excel 设置。

useSystemSeparators

指定是否启用 Excel 的系统分隔符。 系统分隔符包括小数分隔符和千位分隔符。

windows

返回所有打开的 Excel 窗口。

方法

calculate(calculationType)

重新计算 Excel 中当前打开的所有工作簿。

calculate(calculationType)

重新计算 Excel 中当前打开的所有工作簿。

checkSpelling(word, options)

对单个单词进行拼写检查。 如果单词拼写正确,则返回 true ,否则返回 false

enterEditingMode()

进入活动工作表中所选区域的编辑模式。 此方法相当于在 Excel UI 中选择单元格或区域时使用“F2”。

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

set(properties, options)

同时设置对象的多个属性。 可以传递具有相应属性的纯文本对象,也可以传递另一个相同类型的 API 对象。

set(properties)

基于现有加载的对象,同时在对象上设置多个属性。

suspendApiCalculationUntilNextSync()

暂停计算,直到调用下一个 context.sync() 计算。 设置后,开发者负责重新计算工作簿,以确保传播所有依赖项。

suspendScreenUpdatingUntilNextSync()

暂停屏幕更新,直到调用下一个 context.sync()

注意:请勿在循环) 等 (重复呼叫 suspendScreenUpdatingUntilNextSync 。 重复调用将导致 Excel 窗口闪烁。

toJSON()

覆盖 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 (JSON.stringify反过来调用 toJSON 传递给它的对象的方法。) 虽然原始 Excel.Application 对象是 API 对象, toJSON 但该方法返回一个纯 JavaScript 对象, (类型化为 Excel.Interfaces.ApplicationData) ,其中包含从原始对象加载的任何子属性的浅层副本。

union(firstRange, secondRange, additionalRanges)

返回RangeAreas表示两个或多个RangeRangeAreas对象的并集的对象。 输入 RangeRangeAreas 对象必须来自同一工作表。 最大参数数为 30,包括前两个参数。

属性详细信息

activeWindow

返回 window 表示活动窗口 (顶部窗口) 的对象。 此为只读属性。

readonly activeWindow: Excel.Window;

属性值

注解

API 集:ExcelApiDesktop 1.1

calculationEngineVersion

返回用于上次完整重新计算的 Excel 计算引擎版本。

readonly calculationEngineVersion: number;

属性值

number

注解

API 集:ExcelApi 1.9

calculationMode

返回工作簿中使用的计算模式,如 中的 Excel.CalculationMode常量定义。 可能的值为:Automatic,其中 Excel 控制重新计算;AutomaticExceptTables,其中 Excel 控制重新计算,但忽略表中的更改;Manual,其中,当用户请求时执行计算。 这是运行时属性。 该 calculationMode 设置不会保留在工作簿中。

calculationMode: Excel.CalculationMode | "Automatic" | "AutomaticExceptTables" | "Manual";

属性值

Excel.CalculationMode | "Automatic" | "AutomaticExceptTables" | "Manual"

注解

API 集:ExcelApi 1.1 用于获取,1.8 用于设置

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/workbook-calculation.yaml

await Excel.run(async (context) => {
  context.application.calculationMode = Excel.CalculationMode.manual;
  context.application.load("calculationMode");
  await context.sync();

  console.log("Current calculation mode: " + context.application.calculationMode);
});

calculationState

返回应用程序的计算状态。 有关详细信息,请参阅 Excel.CalculationState

readonly calculationState: Excel.CalculationState | "Done" | "Calculating" | "Pending";

属性值

Excel.CalculationState | "Done" | "Calculating" | "Pending"

注解

API 集:ExcelApi 1.9

context

与对象关联的请求上下文。 这将加载项的进程连接到 Office 主机应用程序的进程。

context: RequestContext;

属性值

cultureInfo

基于当前系统区域性设置提供信息。 这包括区域性名称、数字格式和其他依赖于区域性的设置。

readonly cultureInfo: Excel.CultureInfo;

属性值

注解

API 集:ExcelApi 1.11

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/50-workbook/culture-info-date-time.yaml

await Excel.run(async (context) => {
  context.application.cultureInfo.datetimeFormat.load([
    "longDatePattern",
    "shortDatePattern",
    "dateSeparator",
    "longTimePattern",
    "timeSeparator"
  ]);
  await context.sync();

  // Use the cultural settings API to retrieve the user's system date and time settings.
  const systemLongDatePattern = context.application.cultureInfo.datetimeFormat.longDatePattern;
  const systemShortDatePattern = context.application.cultureInfo.datetimeFormat.shortDatePattern;
  const systemDateSeparator = context.application.cultureInfo.datetimeFormat.dateSeparator;
  const systemLongTimePattern = context.application.cultureInfo.datetimeFormat.longTimePattern;
  const systemTimeSeparator = context.application.cultureInfo.datetimeFormat.timeSeparator;

  // Display the date and time settings in your console.
  console.log("System date/time settings: ");
  console.log(`  System long date format: ${systemLongDatePattern}`);
  console.log(`  System short date format: ${systemShortDatePattern}`);
  console.log(`  System date separator: ${systemDateSeparator}`);
  console.log(`  System long time format: ${systemLongTimePattern}`);
  console.log(`  System time separator: ${systemTimeSeparator}`);

  await context.sync();
});

decimalSeparator

获取用作数字值的小数分隔符的字符串。 这基于本地 Excel 设置。

readonly decimalSeparator: string;

属性值

string

注解

API 集:ExcelApi 1.11

示例

// 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

注解

API 集:ExcelApi BETA (仅预览版)

iterativeCalculation

返回迭代计算设置。 在 Windows 版和 Mac 版 Excel 中,这些设置将应用于 Excel 应用程序。 在 Excel web 版和其他平台上,设置将应用于活动工作簿。

readonly iterativeCalculation: Excel.IterativeCalculation;

属性值

注解

API 集:ExcelApi 1.9

thousandsSeparator

获取用于分隔数字值的小数点左侧数字组的字符串。 这基于本地 Excel 设置。

readonly thousandsSeparator: string;

属性值

string

注解

API 集:ExcelApi 1.11

useSystemSeparators

指定是否启用 Excel 的系统分隔符。 系统分隔符包括小数分隔符和千位分隔符。

readonly useSystemSeparators: boolean;

属性值

boolean

注解

API 集:ExcelApi 1.11

windows

返回所有打开的 Excel 窗口。

readonly windows: Excel.WindowCollection;

属性值

注解

API 集:ExcelApiDesktop 1.1

方法详细信息

calculate(calculationType)

重新计算 Excel 中当前打开的所有工作簿。

calculate(calculationType: Excel.CalculationType): void;

参数

calculationType
Excel.CalculationType

指定要使用的计算类型。 有关详细信息,请参阅 Excel.CalculationType

返回

void

注解

API 集:ExcelApi 1.1

示例

// 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

注解

API 集:ExcelApi 1.1

示例

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

可选。 用于检查拼写的选项。

返回

注解

API 集:ExcelApiDesktop 1.1

enterEditingMode()

进入活动工作表中所选区域的编辑模式。 此方法相当于在 Excel UI 中选择单元格或区域时使用“F2”。

enterEditingMode(): void;

返回

void

注解

API 集:ExcelApiDesktop 1.1

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(options?: Excel.Interfaces.ApplicationLoadOptions): Excel.Application;

参数

options
Excel.Interfaces.ApplicationLoadOptions

为要加载的对象属性提供选项。

返回

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

注解

API 集:ExcelApi 1.6

suspendScreenUpdatingUntilNextSync()

暂停屏幕更新,直到调用下一个 context.sync()

注意:请勿在循环) 等 (重复呼叫 suspendScreenUpdatingUntilNextSync 。 重复调用将导致 Excel 窗口闪烁。

suspendScreenUpdatingUntilNextSync(): void;

返回

void

注解

API 集:ExcelApi 1.9

示例

// 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://learn.microsoft.com/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表示两个或多个RangeRangeAreas对象的并集的对象。 输入 RangeRangeAreas 对象必须来自同一工作表。 最大参数数为 30,包括前两个参数。

union(firstRange: Range | RangeAreas, secondRange: Range | RangeAreas, ...additionalRanges: (Range | RangeAreas)[]): Excel.RangeAreas;

参数

firstRange

Excel.Range | Excel.RangeAreas

第一个 RangeRangeAreas 对象。

secondRange

Excel.Range | Excel.RangeAreas

第二个 RangeRangeAreas 对象。

additionalRanges

(Excel.Range | Excel.RangeAreas)[]

可选。 要包含在联合中的附加 Range OR RangeAreas 对象,最多 28 个。

返回

注解

API 集:ExcelApiDesktop 1.1