Read Excel Worksheet (Auto Detect Range)
Name
get_excel_worksheet_autodetect
Description
Use this endpoint to read data from a Sheet without supplying address range (e.g. A1:D100). This endpoint auto detects address range based on used cells in a sheet. [API reference]
Parameters
Output Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. |
Input Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. |
Examples
SSIS
Use SharePoint Online Connector in API Source component to read data or in API Destination component to read/write data:
Read Excel Worksheet (Auto Detect Range) using API Source

Read Excel Worksheet (Auto Detect Range) using API Destination

ODBC application
Use these SQL queries in your ODBC application data source:
Read Excel Worksheet (SharePoint Document Library) - Auto Detect Range
Reads an Excel file without supplying Cell Address Range (It auto detects based on first and last cell)
SELECT * FROM get_excel_worksheet_autodetect
WITH (DriveId='b!GtLN726LE0eY5F2BBNi14wMKmwdpCDFMn1d71ra11GuQ4DORpHy-XXXXXXXXXXX'
,FileId='01SUOJPKECYDDVFXXXXXXXXXXXXXXXXXX'
,SheetId='Sheet1' --Id or Name
--,SheetId='{00000000-0001-0000-0000-000000000000}' --Using ID is good idea if Sheet ever renamed (Id doesnt change)
,AutoDetectByValue='true'
,ArrayTransEnableCustomColumns='True' --set this to False if No header in first row
)
--DriveId can be retrieved by selecting from 'Drives' table.
--FileId can be retrieved by selecting from 'list_files' endpoint.
--SheetId can be retrieved by downloading Excel file and discovering what sheets exist or by selecting from 'list_excel_worksheets' endpoint.
Read Excel data as formatted text or formula
Reads Excel data as formatted text instead of raw, unformatted values. Modify the Filter to $.text[*] to retrieve datetime values as formatted text, rather than as numeric serial values (since Excel internally stores dates as serial numbers).
SELECT * FROM get_excel_worksheet_autodetect
WITH (
DriveId='b!GtLN726LE0eY5F2BBNi14wMKmwdpCDFMn1d71ra11GuQ4DORpHy-XXXXXXXXXXX'
,FileId='01SUOJPKECYDDVFXXXXXXXXXXXXXXXXXX'
,SheetId='Sheet1' --Id or Name
--,SheetId='{00000000-0001-0000-0000-000000000000}' --Using ID is good idea if Sheet ever renamed (Id doesnt change)
,Filter='$.text[*]' --this returns date as formatted value (i.e. 1/1/2020 rather than 43831)
--,Filter='$.formulas[*]' --this returns formula cells only (returns actual formula expression or null if no formula)
)
--DriveId can be retrieved by selecting from 'Drives' table.
--FileId can be retrieved by selecting from 'list_files' endpoint.
--SheetId can be retrieved by downloading Excel file and discovering what sheets exist or by selecting from 'list_excel_worksheets' endpoint.
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Read Excel Worksheet (SharePoint Document Library) - Auto Detect Range
Reads an Excel file without supplying Cell Address Range (It auto detects based on first and last cell)
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM get_excel_worksheet_autodetect
WITH (DriveId=''b!GtLN726LE0eY5F2BBNi14wMKmwdpCDFMn1d71ra11GuQ4DORpHy-XXXXXXXXXXX''
,FileId=''01SUOJPKECYDDVFXXXXXXXXXXXXXXXXXX''
,SheetId=''Sheet1'' --Id or Name
--,SheetId=''{00000000-0001-0000-0000-000000000000}'' --Using ID is good idea if Sheet ever renamed (Id doesnt change)
,AutoDetectByValue=''true''
,ArrayTransEnableCustomColumns=''True'' --set this to False if No header in first row
)
--DriveId can be retrieved by selecting from ''Drives'' table.
--FileId can be retrieved by selecting from ''list_files'' endpoint.
--SheetId can be retrieved by downloading Excel file and discovering what sheets exist or by selecting from ''list_excel_worksheets'' endpoint.';
EXEC (@MyQuery) AT [LS_TO_SHAREPOINT_ONLINE_IN_GATEWAY];
Read Excel data as formatted text or formula
Reads Excel data as formatted text instead of raw, unformatted values. Modify the Filter to $.text[*] to retrieve datetime values as formatted text, rather than as numeric serial values (since Excel internally stores dates as serial numbers).
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM get_excel_worksheet_autodetect
WITH (
DriveId=''b!GtLN726LE0eY5F2BBNi14wMKmwdpCDFMn1d71ra11GuQ4DORpHy-XXXXXXXXXXX''
,FileId=''01SUOJPKECYDDVFXXXXXXXXXXXXXXXXXX''
,SheetId=''Sheet1'' --Id or Name
--,SheetId=''{00000000-0001-0000-0000-000000000000}'' --Using ID is good idea if Sheet ever renamed (Id doesnt change)
,Filter=''$.text[*]'' --this returns date as formatted value (i.e. 1/1/2020 rather than 43831)
--,Filter=''$.formulas[*]'' --this returns formula cells only (returns actual formula expression or null if no formula)
)
--DriveId can be retrieved by selecting from ''Drives'' table.
--FileId can be retrieved by selecting from ''list_files'' endpoint.
--SheetId can be retrieved by downloading Excel file and discovering what sheets exist or by selecting from ''list_excel_worksheets'' endpoint.';
EXEC (@MyQuery) AT [LS_TO_SHAREPOINT_ONLINE_IN_GATEWAY];