Поделиться через


ExcelScript.Table interface

Представляет таблицу Excel.

Комментарии

Примеры

/**
 * 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()}])`);
}

Методы

addColumn(index, values, name)

Добавляет новый столбец в таблицу.

addRow(index, values)

Добавляет одну строку в таблицу.

addRows(index, values)

Добавляет одну или несколько строк в таблицу.

clearFilters()

Удаляет все фильтры, примененные к таблице.

convertToRange()

Преобразовывает таблицу в обычный диапазон ячеек. Все данные сохраняются.

delete()

Удаляет таблицу.

deleteRowsAt(index, count)

Удалите указанное количество строк по заданному индексу.

getAutoFilter()

Представляет AutoFilter объект таблицы.

getColumn(key)

Возвращает объект столбца по имени или идентификатору. Если столбец не существует, этот метод возвращает undefined.

getColumnById(key)

Возвращает объект столбца по идентификатору. Если столбец не существует, возвращает значение undefined.

getColumnByName(key)

Возвращает объект столбца по имени. Если столбец не существует, возвращает значение undefined.

getColumns()

Представляет коллекцию всех столбцов в таблице.

getHeaderRowRange()

Получает объект диапазона, связанный со строкой заголовка таблицы.

getHighlightFirstColumn()

Указывает, содержит ли первый столбец специальное форматирование.

getHighlightLastColumn()

Указывает, содержит ли последний столбец специальное форматирование.

getId()

Возвращает значение, однозначно идентифицирующее таблицу в данной книге. Значение идентификатора остается прежним, даже если переименовать таблицу.

getLegacyId()

Возвращает числовой идентификатор.

getName()

Имя таблицы.

getPredefinedTableStyle()

Значение константы, представляющее стиль таблицы. Возможные значения: "TableStyleLight1" – "TableStyleLight21", "TableStyleMedium1" – "TableStyleMedium28", "TableStyleDark1" – "TableStyleDark11". Также можно указать настраиваемый пользовательский стиль, имеющийся в книге.

getRange()

Получает объект диапазона, связанный со всей таблицей.

getRangeBetweenHeaderAndTotal()

Получает объект диапазона, связанный с основными данными таблицы.

getRowCount()

Получает количество строк в таблице.

getShowBandedColumns()

Указывает, отображаются ли столбцы в виде чередующегося форматирования, в котором нечетные столбцы выделены иначе, чем четные, чтобы упростить чтение таблицы.

getShowBandedRows()

Указывает, отображаются ли строки с чередованием, в котором нечетные строки выделены иначе, чем четные, чтобы упростить чтение таблицы.

getShowFilterButton()

Указывает, отображаются ли кнопки фильтра в верхней части заголовка каждого столбца. Это свойство можно использовать, только если таблица содержит строку заголовков.

getShowHeaders()

Указывает, отображается ли строка заголовка. Можно задать это значение, чтобы отобразить или скрыть строку заголовков.

getShowTotals()

Указывает, отображается ли итоговая строка. Можно задать это значение, чтобы отобразить или скрыть строку итогов.

getSort()

Представляет сортировку для таблицы.

getTotalRowRange()

Получает объект диапазона, связанный со строкой итогов таблицы.

getWorksheet()

Лист, содержащий текущую таблицу.

reapplyFilters()

Повторно применяет все текущие фильтры к таблице.

resize(newRange)

Измените размер таблицы до нового диапазона. Новый диапазон должен перекрываться с исходным диапазоном таблицы, а заголовки (или верхняя часть таблицы) должны находиться в одной строке.

setHighlightFirstColumn(highlightFirstColumn)

Указывает, содержит ли первый столбец специальное форматирование.

setHighlightLastColumn(highlightLastColumn)

Указывает, содержит ли последний столбец специальное форматирование.

setName(name)

Имя таблицы.

setPredefinedTableStyle(predefinedTableStyle)

Значение константы, представляющее стиль таблицы. Возможные значения: "TableStyleLight1" – "TableStyleLight21", "TableStyleMedium1" – "TableStyleMedium28", "TableStyleDark1" – "TableStyleDark11". Также можно указать настраиваемый пользовательский стиль, имеющийся в книге.

setShowBandedColumns(showBandedColumns)

Указывает, отображаются ли столбцы в виде чередующегося форматирования, в котором нечетные столбцы выделены иначе, чем четные, чтобы упростить чтение таблицы.

setShowBandedRows(showBandedRows)

Указывает, отображаются ли строки с чередованием, в котором нечетные строки выделены иначе, чем четные, чтобы упростить чтение таблицы.

setShowFilterButton(showFilterButton)

Указывает, отображаются ли кнопки фильтра в верхней части заголовка каждого столбца. Это свойство можно использовать, только если таблица содержит строку заголовков.

setShowHeaders(showHeaders)

Указывает, отображается ли строка заголовка. Можно задать это значение, чтобы отобразить или скрыть строку заголовков.

setShowTotals(showTotals)

Указывает, отображается ли итоговая строка. Можно задать это значение, чтобы отобразить или скрыть строку итогов.

Сведения о методе

addColumn(index, values, name)

Добавляет новый столбец в таблицу.

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

Параметры

index

number

Необязательный параметр. Определяет относительную позицию нового столбца. Если задано значение null или -1, столбец добавляется в конце. Столбцы с более высокими значениями индекса смещаются в сторону. Используется нулевой индекс.

values

(boolean | string | number)[]

Необязательный параметр. 1-мерный массив неформатированных значений столбца таблицы.

name

string

Необязательный параметр. Задает имя нового столбца. Если значение пустое, используется имя по умолчанию.

Возвращаемое значение

Примеры

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

Добавляет одну строку в таблицу.

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

Параметры

index

number

Необязательный параметр. Определяет относительную позицию новой строки. Если задано значение null или -1, столбец добавляется в конце. Все строки ниже вставляемой строки сдвигаются вниз. Используется нулевой индекс.

values

(boolean | string | number)[]

Необязательный параметр. 1-мерный массив неформатированных значений строки таблицы.

Возвращаемое значение

void

Примеры

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

Добавляет одну или несколько строк в таблицу.

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

Параметры

index

number

Необязательный параметр. Определяет относительную позицию новой строки. Если задано значение null или -1, столбец добавляется в конце. Все строки ниже вставляемой строки сдвигаются вниз. Используется нулевой индекс.

values

(boolean | string | number)[][]

Необязательный параметр. Двухмерный массив неформатированных значений строки таблицы.

Возвращаемое значение

void

Примеры

/**
 * 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()

Удаляет все фильтры, примененные к таблице.

clearFilters(): void;

Возвращаемое значение

void

Примеры

/**
 * 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()

Преобразовывает таблицу в обычный диапазон ячеек. Все данные сохраняются.

convertToRange(): Range;

Возвращаемое значение

Примеры

/**
 * 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()

Удаляет таблицу.

delete(): void;

Возвращаемое значение

void

Примеры

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

Удалите указанное количество строк по заданному индексу.

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

Параметры

index

number

Значение индекса удаляемой строки. Внимание! Индекс строки может перемещаться с момента определения значения, используемого для удаления.

count

number

Количество удаляемых строк. По умолчанию удаляется одна строка. Примечание. Одновременное удаление более 1000 строк может привести к превышению времени ожидания Power Automate.

Возвращаемое значение

void

getAutoFilter()

Представляет AutoFilter объект таблицы.

getAutoFilter(): AutoFilter;

Возвращаемое значение

getColumn(key)

Возвращает объект столбца по имени или идентификатору. Если столбец не существует, этот метод возвращает undefined.

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

Параметры

key

number | string

Имя или идентификатор столбца.

Возвращаемое значение

Примеры

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

Возвращает объект столбца по идентификатору. Если столбец не существует, возвращает значение undefined.

getColumnById(key: number): TableColumn | undefined;

Параметры

key

number

Идентификатор столбца.

Возвращаемое значение

getColumnByName(key)

Возвращает объект столбца по имени. Если столбец не существует, возвращает значение undefined.

getColumnByName(key: string): TableColumn | undefined;

Параметры

key

string

Имя столбца.

Возвращаемое значение

Примеры

/**
 * 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()

Представляет коллекцию всех столбцов в таблице.

getColumns(): TableColumn[];

Возвращаемое значение

Примеры

/**
 * 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()

Получает объект диапазона, связанный со строкой заголовка таблицы.

getHeaderRowRange(): Range;

Возвращаемое значение

Примеры

/**
 * 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()

Указывает, содержит ли первый столбец специальное форматирование.

getHighlightFirstColumn(): boolean;

Возвращаемое значение

boolean

getHighlightLastColumn()

Указывает, содержит ли последний столбец специальное форматирование.

getHighlightLastColumn(): boolean;

Возвращаемое значение

boolean

getId()

Возвращает значение, однозначно идентифицирующее таблицу в данной книге. Значение идентификатора остается прежним, даже если переименовать таблицу.

getId(): string;

Возвращаемое значение

string

getLegacyId()

Возвращает числовой идентификатор.

getLegacyId(): string;

Возвращаемое значение

string

getName()

Имя таблицы.

getName(): string;

Возвращаемое значение

string

getPredefinedTableStyle()

Значение константы, представляющее стиль таблицы. Возможные значения: "TableStyleLight1" – "TableStyleLight21", "TableStyleMedium1" – "TableStyleMedium28", "TableStyleDark1" – "TableStyleDark11". Также можно указать настраиваемый пользовательский стиль, имеющийся в книге.

getPredefinedTableStyle(): string;

Возвращаемое значение

string

getRange()

Получает объект диапазона, связанный со всей таблицей.

getRange(): Range;

Возвращаемое значение

Примеры

/**
 * 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()

Получает объект диапазона, связанный с основными данными таблицы.

getRangeBetweenHeaderAndTotal(): Range;

Возвращаемое значение

getRowCount()

Получает количество строк в таблице.

getRowCount(): number;

Возвращаемое значение

number

getShowBandedColumns()

Указывает, отображаются ли столбцы в виде чередующегося форматирования, в котором нечетные столбцы выделены иначе, чем четные, чтобы упростить чтение таблицы.

getShowBandedColumns(): boolean;

Возвращаемое значение

boolean

getShowBandedRows()

Указывает, отображаются ли строки с чередованием, в котором нечетные строки выделены иначе, чем четные, чтобы упростить чтение таблицы.

getShowBandedRows(): boolean;

Возвращаемое значение

boolean

getShowFilterButton()

Указывает, отображаются ли кнопки фильтра в верхней части заголовка каждого столбца. Это свойство можно использовать, только если таблица содержит строку заголовков.

getShowFilterButton(): boolean;

Возвращаемое значение

boolean

getShowHeaders()

Указывает, отображается ли строка заголовка. Можно задать это значение, чтобы отобразить или скрыть строку заголовков.

getShowHeaders(): boolean;

Возвращаемое значение

boolean

getShowTotals()

Указывает, отображается ли итоговая строка. Можно задать это значение, чтобы отобразить или скрыть строку итогов.

getShowTotals(): boolean;

Возвращаемое значение

boolean

getSort()

Представляет сортировку для таблицы.

getSort(): TableSort;

Возвращаемое значение

getTotalRowRange()

Получает объект диапазона, связанный со строкой итогов таблицы.

getTotalRowRange(): Range;

Возвращаемое значение

getWorksheet()

Лист, содержащий текущую таблицу.

getWorksheet(): Worksheet;

Возвращаемое значение

reapplyFilters()

Повторно применяет все текущие фильтры к таблице.

reapplyFilters(): void;

Возвращаемое значение

void

Примеры

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

Измените размер таблицы до нового диапазона. Новый диапазон должен перекрываться с исходным диапазоном таблицы, а заголовки (или верхняя часть таблицы) должны находиться в одной строке.

resize(newRange: Range | string): void;

Параметры

newRange

ExcelScript.Range | string

Объект диапазона или адрес диапазона, который будет использоваться для определения нового размера таблицы.

Возвращаемое значение

void

setHighlightFirstColumn(highlightFirstColumn)

Указывает, содержит ли первый столбец специальное форматирование.

setHighlightFirstColumn(highlightFirstColumn: boolean): void;

Параметры

highlightFirstColumn

boolean

Возвращаемое значение

void

setHighlightLastColumn(highlightLastColumn)

Указывает, содержит ли последний столбец специальное форматирование.

setHighlightLastColumn(highlightLastColumn: boolean): void;

Параметры

highlightLastColumn

boolean

Возвращаемое значение

void

setName(name)

Имя таблицы.

setName(name: string): void;

Параметры

name

string

Возвращаемое значение

void

setPredefinedTableStyle(predefinedTableStyle)

Значение константы, представляющее стиль таблицы. Возможные значения: "TableStyleLight1" – "TableStyleLight21", "TableStyleMedium1" – "TableStyleMedium28", "TableStyleDark1" – "TableStyleDark11". Также можно указать настраиваемый пользовательский стиль, имеющийся в книге.

setPredefinedTableStyle(predefinedTableStyle: string): void;

Параметры

predefinedTableStyle

string

Возвращаемое значение

void

setShowBandedColumns(showBandedColumns)

Указывает, отображаются ли столбцы в виде чередующегося форматирования, в котором нечетные столбцы выделены иначе, чем четные, чтобы упростить чтение таблицы.

setShowBandedColumns(showBandedColumns: boolean): void;

Параметры

showBandedColumns

boolean

Возвращаемое значение

void

setShowBandedRows(showBandedRows)

Указывает, отображаются ли строки с чередованием, в котором нечетные строки выделены иначе, чем четные, чтобы упростить чтение таблицы.

setShowBandedRows(showBandedRows: boolean): void;

Параметры

showBandedRows

boolean

Возвращаемое значение

void

Примеры

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

Указывает, отображаются ли кнопки фильтра в верхней части заголовка каждого столбца. Это свойство можно использовать, только если таблица содержит строку заголовков.

setShowFilterButton(showFilterButton: boolean): void;

Параметры

showFilterButton

boolean

Возвращаемое значение

void

setShowHeaders(showHeaders)

Указывает, отображается ли строка заголовка. Можно задать это значение, чтобы отобразить или скрыть строку заголовков.

setShowHeaders(showHeaders: boolean): void;

Параметры

showHeaders

boolean

Возвращаемое значение

void

Примеры

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

Указывает, отображается ли итоговая строка. Можно задать это значение, чтобы отобразить или скрыть строку итогов.

setShowTotals(showTotals: boolean): void;

Параметры

showTotals

boolean

Возвращаемое значение

void

Примеры

/**
 * 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);
}