Edit

Share via


PowerPoint.Table class

Represents a table.

Extends

Remarks

[ API set: PowerPointApi 1.8 ]

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/add-modify-tables.yaml

// Updates a table's values.
await PowerPoint.run(async (context) => {
  const shapes = context.presentation.getSelectedSlides().getItemAt(0).shapes;

  // Add a table (which is a type of Shape).
  const shape = shapes.addTable(4, 3);
  let table = shape.getTable();
  table.load();
  await context.sync();

  // Update values in the table.
  for (let rowIndex = 0; rowIndex < table.rowCount; rowIndex++) {
    for (let columnIndex = 0; columnIndex < table.columnCount; columnIndex++) {
      const cell = table.getCellOrNullObject(rowIndex, columnIndex);
      cell.text = generateRandomString();
    }
  }

  await context.sync();
});

Properties

columnCount

Gets the number of columns in the table.

columns

Gets the collection of columns in the table.

context

The request context associated with the object. This connects the add-in's process to the Office host application's process.

rowCount

Gets the number of rows in the table.

rows

Gets the collection of rows in the table.

styleOptions

Gets the table style options.

values

Gets all of the values in the table.

Methods

clear(options)

Clears table values and formatting.

getCellOrNullObject(rowIndex, columnIndex)

Gets the cell at the specified rowIndex and columnIndex.

getMergedAreas()

Gets a collection of cells that represent the merged areas of the table.

getShape()

Gets the shape object for the table.

load(options)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNames)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNamesAndPaths)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

mergeCells(rowIndex, columnIndex, rowCount, columnCount)

Creates a merged area starting at the cell specified by rowIndex and columnIndex. The merged area spans across a specified number of rows and columns.

toJSON()

Overrides the JavaScript toJSON() method in order to provide more useful output when an API object is passed to JSON.stringify(). (JSON.stringify, in turn, calls the toJSON method of the object that's passed to it.) Whereas the original PowerPoint.Table object is an API object, the toJSON method returns a plain JavaScript object (typed as PowerPoint.Interfaces.TableData) that contains shallow copies of any loaded child properties from the original object.

Property Details

columnCount

Gets the number of columns in the table.

readonly columnCount: number;

Property Value

number

Remarks

[ API set: PowerPointApi 1.8 ]

columns

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Gets the collection of columns in the table.

readonly columns: PowerPoint.TableColumnCollection;

Property Value

Remarks

[ API set: PowerPointApi BETA (PREVIEW ONLY) ]

context

The request context associated with the object. This connects the add-in's process to the Office host application's process.

context: RequestContext;

Property Value

rowCount

Gets the number of rows in the table.

readonly rowCount: number;

Property Value

number

Remarks

[ API set: PowerPointApi 1.8 ]

rows

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Gets the collection of rows in the table.

readonly rows: PowerPoint.TableRowCollection;

Property Value

Remarks

[ API set: PowerPointApi BETA (PREVIEW ONLY) ]

styleOptions

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Gets the table style options.

readonly styleOptions: PowerPoint.TableStyleOptions;

Property Value

Remarks

[ API set: PowerPointApi BETA (PREVIEW ONLY) ]

values

Gets all of the values in the table.

readonly values: string[][];

Property Value

string[][]

Remarks

[ API set: PowerPointApi 1.8 ]

Method Details

clear(options)

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Clears table values and formatting.

clear(options?: PowerPoint.TableClearOptions): void;

Parameters

options
PowerPoint.TableClearOptions

Provides options for clearing the table.

Returns

void

Remarks

[ API set: PowerPointApi BETA (PREVIEW ONLY) ]

getCellOrNullObject(rowIndex, columnIndex)

Gets the cell at the specified rowIndex and columnIndex.

getCellOrNullObject(rowIndex: number, columnIndex: number): PowerPoint.TableCell;

Parameters

rowIndex

number

The zero-based row index of the cell.

columnIndex

number

The zero-based column index of the cell.

Returns

The cell at the specified row and column. If the cell is part of a merged area and not the top left cell of the merged area, an object with the isNullObject property set to true is returned. For further information, see *OrNullObject methods and properties.

Remarks

[ API set: PowerPointApi 1.8 ]

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/add-modify-tables.yaml

// Updates a table's values.
await PowerPoint.run(async (context) => {
  const shapes = context.presentation.getSelectedSlides().getItemAt(0).shapes;

  // Add a table (which is a type of Shape).
  const shape = shapes.addTable(4, 3);
  let table = shape.getTable();
  table.load();
  await context.sync();

  // Update values in the table.
  for (let rowIndex = 0; rowIndex < table.rowCount; rowIndex++) {
    for (let columnIndex = 0; columnIndex < table.columnCount; columnIndex++) {
      const cell = table.getCellOrNullObject(rowIndex, columnIndex);
      cell.text = generateRandomString();
    }
  }

  await context.sync();
});

getMergedAreas()

Gets a collection of cells that represent the merged areas of the table.

getMergedAreas(): PowerPoint.TableCellCollection;

Returns

a TableCellCollection with cells that represent the merged areas of the table.

Remarks

[ API set: PowerPointApi 1.8 ]

getShape()

Gets the shape object for the table.

getShape(): PowerPoint.Shape;

Returns

Remarks

[ API set: PowerPointApi 1.8 ]

load(options)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(options?: PowerPoint.Interfaces.TableLoadOptions): PowerPoint.Table;

Parameters

options
PowerPoint.Interfaces.TableLoadOptions

Provides options for which properties of the object to load.

Returns

load(propertyNames)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNames?: string | string[]): PowerPoint.Table;

Parameters

propertyNames

string | string[]

A comma-delimited string or an array of strings that specify the properties to load.

Returns

load(propertyNamesAndPaths)

Queues up a command to load the specified properties of the object. You must call context.sync() before reading the properties.

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): PowerPoint.Table;

Parameters

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select is a comma-delimited string that specifies the properties to load, and propertyNamesAndPaths.expand is a comma-delimited string that specifies the navigation properties to load.

Returns

mergeCells(rowIndex, columnIndex, rowCount, columnCount)

Note

This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

Creates a merged area starting at the cell specified by rowIndex and columnIndex. The merged area spans across a specified number of rows and columns.

mergeCells(rowIndex: number, columnIndex: number, rowCount: number, columnCount: number): void;

Parameters

rowIndex

number

The zero-based row index of the cell to start the merged area.

columnIndex

number

The zero-based column index of the cell to start the merged area.

rowCount

number

The number of rows to merge with the starting cell. Must be greater than 0.

columnCount

number

The number of columns to merge with the starting cell. Must be greater than 0.

Returns

void

Remarks

[ API set: PowerPointApi BETA (PREVIEW ONLY) ]

toJSON()

Overrides the JavaScript toJSON() method in order to provide more useful output when an API object is passed to JSON.stringify(). (JSON.stringify, in turn, calls the toJSON method of the object that's passed to it.) Whereas the original PowerPoint.Table object is an API object, the toJSON method returns a plain JavaScript object (typed as PowerPoint.Interfaces.TableData) that contains shallow copies of any loaded child properties from the original object.

toJSON(): PowerPoint.Interfaces.TableData;

Returns