Partager via


ExcelScript.Table interface

Représente un tableau Excel.

Remarques

Exemples

/**
 * This script creates a table from the current sheet's used range.
 * It then adds a total row to the table with the SUM of the last column.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the used range of the current worksheet.
    const sheet = workbook.getActiveWorksheet();
    const range = sheet.getUsedRange();

    // Create a table that has headers from that range.
    const table = sheet.addTable(range, true);

    // Have the table display the SUM for the last column.
    table.setShowTotals(true);
    const lastColumn = table.getColumn(table.getColumns().length);
    lastColumn.getTotalRowRange().setFormula(`=SUBTOTAL(109,[${lastColumn.getName()}])`);
}

Méthodes

addColumn(index, values, name)

Ajoute une nouvelle colonne au tableau.

addRow(index, values)

Ajoute une ligne à la table.

addRows(index, values)

Ajoute une ou plusieurs lignes dans le tableau.

clearFilters()

Supprime tous les filtres appliqués actuellement sur le tableau.

convertToRange()

Convertit le tableau en plage normale de cellules. Toutes les données sont conservées.

delete()

Supprime le tableau.

deleteRowsAt(index, count)

Supprimer un nombre spécifié de lignes à un index donné.

getAutoFilter()

Représente l’objet AutoFilter de la table.

getColumn(key)

Obtient un objet de colonne par son nom ou son ID. Si la colonne n’existe pas, cette méthode retourne undefined.

getColumnById(key)

Obtient un objet de colonne par ID. Si la colonne n’existe pas, retourne undefined.

getColumnByName(key)

Obtient un objet de colonne par Nom. Si la colonne n’existe pas, retourne undefined.

getColumns()

Représente une collection de toutes les colonnes du tableau.

getHeaderRowRange()

Obtient l’objet de plage associé à la ligne d’en-tête du tableau.

getHighlightFirstColumn()

Spécifie si la première colonne contient une mise en forme spéciale.

getHighlightLastColumn()

Spécifie si la dernière colonne contient une mise en forme spéciale.

getId()

Renvoie une valeur qui permet d’identifier le tableau dans un classeur donné. La valeur de l’identificateur reste identique, même lorsque le tableau est renommé.

getLegacyId()

Retourne un ID numérique.

getName()

Nom du tableau.

getPredefinedTableStyle()

Valeur constante qui représente le style de tableau. Les valeurs possibles sont : « TableStyleLight1 » à « TableStyleLight21 », « TableStyleMedium1 » à « TableStyleMedium28 », « TableStyleDark1 » à « TableStyleDark11 ». Vous pouvez également indiquer un style personnalisé présent dans le classeur.

getRange()

Renvoie l’objet de plage associé à l’intégralité du tableau.

getRangeBetweenHeaderAndTotal()

Obtient l’objet de plage associé au corps de données du tableau.

getRowCount()

Obtient le nombre de lignes dans le tableau.

getShowBandedColumns()

Spécifie si les colonnes affichent une mise en forme à bandes dans laquelle les colonnes impaires sont mises en surbrillance différemment des colonnes paires, pour faciliter la lecture du tableau.

getShowBandedRows()

Spécifie si les lignes affichent une mise en forme à bandes dans laquelle les lignes impaires sont mises en surbrillance différemment des lignes paires, pour faciliter la lecture du tableau.

getShowFilterButton()

Spécifie si les boutons de filtre sont visibles en haut de chaque en-tête de colonne. Ce paramètre est autorisé uniquement si le tableau contient une ligne d’en-tête.

getShowHeaders()

Spécifie si la ligne d’en-tête est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne d’en-tête.

getShowTotals()

Spécifie si la ligne totale est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne de total.

getSort()

Représente le tri du tableau.

getTotalRowRange()

Obtient l’objet de plage associé à la ligne de total du tableau.

getWorksheet()

Feuille de calcul contenant le tableau actif.

reapplyFilters()

Applique de nouveau tous les filtres actuellement appliqués sur le tableau.

resize(newRange)

Redimensionnez la table en fonction de la nouvelle plage. La nouvelle plage doit chevaucher la plage de tableau d’origine et les en-têtes (ou le haut du tableau) doivent se trouver dans la même ligne.

setHighlightFirstColumn(highlightFirstColumn)

Spécifie si la première colonne contient une mise en forme spéciale.

setHighlightLastColumn(highlightLastColumn)

Spécifie si la dernière colonne contient une mise en forme spéciale.

setName(name)

Nom du tableau.

setPredefinedTableStyle(predefinedTableStyle)

Valeur constante qui représente le style de tableau. Les valeurs possibles sont : « TableStyleLight1 » à « TableStyleLight21 », « TableStyleMedium1 » à « TableStyleMedium28 », « TableStyleDark1 » à « TableStyleDark11 ». Vous pouvez également indiquer un style personnalisé présent dans le classeur.

setShowBandedColumns(showBandedColumns)

Spécifie si les colonnes affichent une mise en forme à bandes dans laquelle les colonnes impaires sont mises en surbrillance différemment des colonnes paires, pour faciliter la lecture du tableau.

setShowBandedRows(showBandedRows)

Spécifie si les lignes affichent une mise en forme à bandes dans laquelle les lignes impaires sont mises en surbrillance différemment des lignes paires, pour faciliter la lecture du tableau.

setShowFilterButton(showFilterButton)

Spécifie si les boutons de filtre sont visibles en haut de chaque en-tête de colonne. Ce paramètre est autorisé uniquement si le tableau contient une ligne d’en-tête.

setShowHeaders(showHeaders)

Spécifie si la ligne d’en-tête est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne d’en-tête.

setShowTotals(showTotals)

Spécifie si la ligne totale est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne de total.

Détails de la méthode

addColumn(index, values, name)

Ajoute une nouvelle colonne au tableau.

addColumn(
            index?: number,
            values?: (boolean | string | number)[],
            name?: string
        ): TableColumn;

Paramètres

index

number

Optional. Spécifie la position relative de la nouvelle colonne. Si la valeur est null ou -1, la ligne est ajoutée à la fin. Les colonnes avec un index supérieur seront décalées sur le côté. Avec indice zéro.

values

(boolean | string | number)[]

Optional. Tableau à 1 dimension de valeurs non mises en forme de la colonne de table.

name

string

Optional. Spécifie le nom de la nouvelle colonne. Si la valeur est null, le nom par défaut est utilisé.

Retours

Exemples

/**
 * This script adds a new column to a table.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the first table in the workbook.
  const table = workbook.getTables()[0];

  // Append an empty column to the table with the header "Total". 
  table.addColumn(-1, null, "Total");
}

addRow(index, values)

Ajoute une ligne à la table.

addRow(index?: number, values?: (boolean | string | number)[]): void;

Paramètres

index

number

Optional. Spécifie la position relative de la nouvelle ligne. Si la valeur est null ou -1, la ligne est ajoutée à la fin. Toutes les lignes en dessous de la ligne insérée sont déplacées vers le bas. Avec indice zéro.

values

(boolean | string | number)[]

Optional. Tableau à 1 dimension de valeurs non mises en forme de la ligne de table.

Retours

void

Exemples

/**
 * This script adds a row to an existing table.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the first table in the current worksheet.
    const selectedSheet = workbook.getActiveWorksheet();
    const table = selectedSheet.getTables()[0];

    // Initialize the data to be added as a table row.
    // Note that length of the array must match the number of columns in the table.
    let rowData = ["Carrots", "Vegetable", 750];

    // Add a row to the end of the table.
    table.addRow(-1, rowData);
}

addRows(index, values)

Ajoute une ou plusieurs lignes dans le tableau.

addRows(index?: number, values?: (boolean | string | number)[][]): void;

Paramètres

index

number

Optional. Spécifie la position relative de la nouvelle ligne. Si la valeur est null ou -1, la ligne est ajoutée à la fin. Toutes les lignes en dessous de la ligne insérée sont déplacées vers le bas. Avec indice zéro.

values

(boolean | string | number)[][]

Optional. Matrice 2D des valeurs non mises en forme de la ligne du tableau.

Retours

void

Exemples

/**
 * This script adds multiple rows to an existing table.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the first table in the current worksheet.
    const selectedSheet = workbook.getActiveWorksheet();
    const table = selectedSheet.getTables()[0];

    // Initialize the data to be added as table rows.
    // Note that length of the array must match the number of columns in the table.
    let rowData = [["Apples", "Fruit", 5000],
                  ["Celery", "Vegetable", 600],
                  ["Onions", "Vegetable", 1500]];

    // Add the rows to the end of the table.
    table.addRows(-1, rowData);
}

clearFilters()

Supprime tous les filtres appliqués actuellement sur le tableau.

clearFilters(): void;

Retours

void

Exemples

/**
 * This script clears the filters from all tables in the workbook.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get all the tables in the workbook.
    const tables = workbook.getTables();

    // Remove any active filters from each table.
    tables.forEach((table) => {
      table.clearFilters();
    });
}

convertToRange()

Convertit le tableau en plage normale de cellules. Toutes les données sont conservées.

convertToRange(): Range;

Retours

Exemples

/**
 * This script converts a table to a range and removes the formatting.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the first table in the current worksheet.
    const selectedSheet = workbook.getActiveWorksheet();
    const table = selectedSheet.getTables()[0];

    // Convert the table to a range.
    const formerTable = table.convertToRange();

    // Remove the formatting from the table
    formerTable.clear(ExcelScript.ClearApplyTo.formats);
}

delete()

Supprime le tableau.

delete(): void;

Retours

void

Exemples

/**
 * This script deletes a table. 
 * This removes all associated data and formatting.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the table named "Inventory".
    const table = workbook.getTable("Inventory");

    // Delete the table.
    table.delete();
}

deleteRowsAt(index, count)

Supprimer un nombre spécifié de lignes à un index donné.

deleteRowsAt(index: number, count?: number): void;

Paramètres

index

number

Valeur d’index de la ligne à supprimer. Attention : l’index de la ligne a peut-être été déplacé à partir du moment où vous avez déterminé la valeur à utiliser pour la suppression.

count

number

Nombre de lignes à supprimer. Par défaut, une seule ligne est supprimée. Remarque : La suppression de plus de 1 000 lignes en même temps peut entraîner un délai d’expiration de Power Automate.

Retours

void

getAutoFilter()

Représente l’objet AutoFilter de la table.

getAutoFilter(): AutoFilter;

Retours

getColumn(key)

Obtient un objet de colonne par son nom ou son ID. Si la colonne n’existe pas, cette méthode retourne undefined.

getColumn(key: number | string): TableColumn | undefined;

Paramètres

key

number | string

Nom ou ID de colonne.

Retours

Exemples

/**
 * This script adjusts the indentation of a specific table column.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the first table in the current worksheet.
  const selectedSheet = workbook.getActiveWorksheet();
  const table = selectedSheet.getTables()[0];

  // Get the data range of the second column.
  const secondColumn = table.getColumn(2);
  const data = secondColumn.getRangeBetweenHeaderAndTotal();

  // Add an indentation of 1 character space to the data range.
  data.getFormat().adjustIndent(1);
}

getColumnById(key)

Obtient un objet de colonne par ID. Si la colonne n’existe pas, retourne undefined.

getColumnById(key: number): TableColumn | undefined;

Paramètres

key

number

ID de colonne.

Retours

getColumnByName(key)

Obtient un objet de colonne par Nom. Si la colonne n’existe pas, retourne undefined.

getColumnByName(key: string): TableColumn | undefined;

Paramètres

key

string

Nom de la colonne.

Retours

Exemples

/**
 * This script removes a specific column from a table.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the table named "Inventory".
    const table = workbook.getTable("Inventory");

    // If it exists, remove the column named "Category".
    let categoryColumn = table.getColumnByName("Category");
    if (categoryColumn) {
        categoryColumn.delete();
    }
}

getColumns()

Représente une collection de toutes les colonnes du tableau.

getColumns(): TableColumn[];

Retours

Exemples

/**
 * This script adds a new column to a table.
 * It then sets the formulas in the new column to be the product
 * of the values in the two preceding columns.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the first table in the workbook.
  const table = workbook.getTables()[0];

  // Append an empty column to the table with the header "Total". 
  const totalColumn = table.addColumn(-1, null, "Total");

  // Get the names of the two preceding columns.
  const productColumnName1 = table.getColumns()[totalColumn.getIndex() - 1].getName();
  const productColumnName2 = table.getColumns()[totalColumn.getIndex() - 2].getName();
  
  // Set the formulas in the "Total" column to be the product of the two preceding columns.
  totalColumn.getRangeBetweenHeaderAndTotal().setFormula(
    `=[@[${productColumnName1}]]*[@[${productColumnName2}]]`
  );
}

getHeaderRowRange()

Obtient l’objet de plage associé à la ligne d’en-tête du tableau.

getHeaderRowRange(): Range;

Retours

Exemples

/**
 * This script centers the text in a table's header row cells.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the first table on the current worksheet.
  const currentSheet = workbook.getActiveWorksheet();
  const table = currentSheet.getTables()[0];

  // Get the header range.
  const headerRange = table.getHeaderRowRange();

  // Set the horizontal text alignment to `center`.
  headerRange.getFormat().setHorizontalAlignment(ExcelScript.HorizontalAlignment.center);
}

getHighlightFirstColumn()

Spécifie si la première colonne contient une mise en forme spéciale.

getHighlightFirstColumn(): boolean;

Retours

boolean

getHighlightLastColumn()

Spécifie si la dernière colonne contient une mise en forme spéciale.

getHighlightLastColumn(): boolean;

Retours

boolean

getId()

Renvoie une valeur qui permet d’identifier le tableau dans un classeur donné. La valeur de l’identificateur reste identique, même lorsque le tableau est renommé.

getId(): string;

Retours

string

getLegacyId()

Retourne un ID numérique.

getLegacyId(): string;

Retours

string

getName()

Nom du tableau.

getName(): string;

Retours

string

getPredefinedTableStyle()

Valeur constante qui représente le style de tableau. Les valeurs possibles sont : « TableStyleLight1 » à « TableStyleLight21 », « TableStyleMedium1 » à « TableStyleMedium28 », « TableStyleDark1 » à « TableStyleDark11 ». Vous pouvez également indiquer un style personnalisé présent dans le classeur.

getPredefinedTableStyle(): string;

Retours

string

getRange()

Renvoie l’objet de plage associé à l’intégralité du tableau.

getRange(): Range;

Retours

Exemples

/**
 * This script removes any extra formatting that's been applied to a table. 
 * This leaves only the base table style effects.
 * Any formatting outside of the table will be left as is.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the first table on the current worksheet.
  let worksheet = workbook.getActiveWorksheet();
  let table = worksheet.getTables()[0];

  // Get the range used by the table.
  let range = table.getRange();

  // Clear all the formatting that is not applied by the table and the table style.
  range.clear(ExcelScript.ClearApplyTo.formats);
}

getRangeBetweenHeaderAndTotal()

Obtient l’objet de plage associé au corps de données du tableau.

getRangeBetweenHeaderAndTotal(): Range;

Retours

getRowCount()

Obtient le nombre de lignes dans le tableau.

getRowCount(): number;

Retours

number

getShowBandedColumns()

Spécifie si les colonnes affichent une mise en forme à bandes dans laquelle les colonnes impaires sont mises en surbrillance différemment des colonnes paires, pour faciliter la lecture du tableau.

getShowBandedColumns(): boolean;

Retours

boolean

getShowBandedRows()

Spécifie si les lignes affichent une mise en forme à bandes dans laquelle les lignes impaires sont mises en surbrillance différemment des lignes paires, pour faciliter la lecture du tableau.

getShowBandedRows(): boolean;

Retours

boolean

getShowFilterButton()

Spécifie si les boutons de filtre sont visibles en haut de chaque en-tête de colonne. Ce paramètre est autorisé uniquement si le tableau contient une ligne d’en-tête.

getShowFilterButton(): boolean;

Retours

boolean

getShowHeaders()

Spécifie si la ligne d’en-tête est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne d’en-tête.

getShowHeaders(): boolean;

Retours

boolean

getShowTotals()

Spécifie si la ligne totale est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne de total.

getShowTotals(): boolean;

Retours

boolean

getSort()

Représente le tri du tableau.

getSort(): TableSort;

Retours

getTotalRowRange()

Obtient l’objet de plage associé à la ligne de total du tableau.

getTotalRowRange(): Range;

Retours

getWorksheet()

Feuille de calcul contenant le tableau actif.

getWorksheet(): Worksheet;

Retours

reapplyFilters()

Applique de nouveau tous les filtres actuellement appliqués sur le tableau.

reapplyFilters(): void;

Retours

void

Exemples

/**
 * This script reapplies the filters on every table in the workbook.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get all the tables.
  const tables = workbook.getTables();

  // Iterate over every table.
  tables.forEach((table) => {
    // Reapply the filters to account for new table entries.
    table.reapplyFilters();
  });
}

resize(newRange)

Redimensionnez la table en fonction de la nouvelle plage. La nouvelle plage doit chevaucher la plage de tableau d’origine et les en-têtes (ou le haut du tableau) doivent se trouver dans la même ligne.

resize(newRange: Range | string): void;

Paramètres

newRange

ExcelScript.Range | string

Objet de plage ou adresse de plage qui sera utilisé pour déterminer la nouvelle taille de la table.

Retours

void

setHighlightFirstColumn(highlightFirstColumn)

Spécifie si la première colonne contient une mise en forme spéciale.

setHighlightFirstColumn(highlightFirstColumn: boolean): void;

Paramètres

highlightFirstColumn

boolean

Retours

void

setHighlightLastColumn(highlightLastColumn)

Spécifie si la dernière colonne contient une mise en forme spéciale.

setHighlightLastColumn(highlightLastColumn: boolean): void;

Paramètres

highlightLastColumn

boolean

Retours

void

setName(name)

Nom du tableau.

setName(name: string): void;

Paramètres

name

string

Retours

void

setPredefinedTableStyle(predefinedTableStyle)

Valeur constante qui représente le style de tableau. Les valeurs possibles sont : « TableStyleLight1 » à « TableStyleLight21 », « TableStyleMedium1 » à « TableStyleMedium28 », « TableStyleDark1 » à « TableStyleDark11 ». Vous pouvez également indiquer un style personnalisé présent dans le classeur.

setPredefinedTableStyle(predefinedTableStyle: string): void;

Paramètres

predefinedTableStyle

string

Retours

void

setShowBandedColumns(showBandedColumns)

Spécifie si les colonnes affichent une mise en forme à bandes dans laquelle les colonnes impaires sont mises en surbrillance différemment des colonnes paires, pour faciliter la lecture du tableau.

setShowBandedColumns(showBandedColumns: boolean): void;

Paramètres

showBandedColumns

boolean

Retours

void

setShowBandedRows(showBandedRows)

Spécifie si les lignes affichent une mise en forme à bandes dans laquelle les lignes impaires sont mises en surbrillance différemment des lignes paires, pour faciliter la lecture du tableau.

setShowBandedRows(showBandedRows: boolean): void;

Paramètres

showBandedRows

boolean

Retours

void

Exemples

/**
 * This script sets all the tables in the workbook to have banded rows. 
 */
function main(workbook: ExcelScript.Workbook) {
  // Get all the tables.
  const tables = workbook.getTables();

  // For each table, set the banded row formatting to true.
  tables.forEach((table) => {
    table.setShowBandedRows(true);
  });
}

setShowFilterButton(showFilterButton)

Spécifie si les boutons de filtre sont visibles en haut de chaque en-tête de colonne. Ce paramètre est autorisé uniquement si le tableau contient une ligne d’en-tête.

setShowFilterButton(showFilterButton: boolean): void;

Paramètres

showFilterButton

boolean

Retours

void

setShowHeaders(showHeaders)

Spécifie si la ligne d’en-tête est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne d’en-tête.

setShowHeaders(showHeaders: boolean): void;

Paramètres

showHeaders

boolean

Retours

void

Exemples

/**
 * This script makes a table's headers not visible in the grid.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the table named "CoverageTable".
    const coverageTable = workbook.getTable("CoverageTable");

    // Make the header row not visible.
    coverageTable.setShowHeaders(false);
}

setShowTotals(showTotals)

Spécifie si la ligne totale est visible. Cette valeur peut être définie de manière à afficher ou à masquer la ligne de total.

setShowTotals(showTotals: boolean): void;

Paramètres

showTotals

boolean

Retours

void

Exemples

/**
 * This script adds the Total Row to an existing table.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the first table in the current worksheet.
    const selectedSheet = workbook.getActiveWorksheet();
    const table = selectedSheet.getTables()[0];

    // Set the Total Row to show.
    table.setShowTotals(true);
}