Excel.ShapeTable

Accessing DataInternal

Retrieves shape data from an Excel workbook as a table. This function is intended for internal use only.

Examples on this page use shared sample tables. View them to understand the input data before reading the examples below.

Syntax

Excel.ShapeTable(table as table, optional options as nullable record) as any

Parameters

NameTypeRequiredDescription
tabletableYesA table representing the Excel workbook content, typically derived from the internal workbook parsing pipeline.
optionsrecordNoAn optional record for specifying additional processing options.

Return Value

anyThe shape data extracted from the Excel workbook, returned in a format determined by the internal implementation.

Remarks

Excel.ShapeTable is an internal function that is not intended for use in user-authored queries. According to the official Microsoft documentation, "this function is intended for internal use only."

Purpose: This function is part of the internal Excel workbook parsing pipeline in Power Query. It is used behind the scenes to extract and process shape objects (such as charts, images, SmartArt, and other non-tabular elements) embedded in Excel workbooks.

Not for end-user use: This function is not exposed in the Power Query UI and is not documented with detailed parameters or examples by Microsoft. Attempting to call it directly may produce unexpected results or errors.

Authentication: Not applicable. This function operates on in-memory table data that has already been loaded from an Excel file.

Query folding: Not applicable. This is an in-memory processing function.

Platform availability: This function exists in the Power Query runtime but is not available for direct use in any end-user environment (Power BI Desktop, Power BI Service, Excel, Dataflows, or Fabric Notebooks).

Recommended alternatives: To work with Excel workbook data, use Excel.Workbook which returns a navigation table of sheets, named tables, and named ranges. Shape data (charts, images) within Excel files is not directly accessible through Power Query's public API.

Examples

Example 1: Use Excel.Workbook instead (recommended)

let
    Source = Excel.Workbook(File.Contents("C:\Data\report.xlsx"), true),
    Sheet1 = Source{[Item = "Sheet", Name = "Sheet1"]}[Data]
in
    Sheet1

Compatibility

Power BI Desktop Power BI Service Excel Desktop Excel Online Dataflows Fabric Notebooks