JDBC Driver for Microsoft Excel Online

Build 22.0.8462

DefineTables

Assign table names to ranges.

Data Type

string

Default Value

""

Remarks

This property is used to define the ranges within a worksheet that will appear as tables. The value is a semicolon-separated list of name-value pairs in the form [Table Name]=[Catalog].[Schema].[{Workbook Name}_{Worksheet Name}!{Range}]. The value can also be specified in the form [Table Name]=[{Workbook Name}_{Worksheet Name}!{Range}]. Note that in this case, the driver will attempt to push the defined table for each schema it identifies, should the specified workbook and worksheet exist in the schema. For specifications of DefineTables, some characters, like ., are reserved characters. To escape these characters and make sure that the name containing them is parsed properly, surround the containing name with brackets, as in [work.book_work.sheet!A1:Z50]. For this example, the driver would properly search for the workbook and worksheet identified by work.book_work.sheet, despite the specification containing reserved characters.

Here is an example DefineTables value:

DefineTables="Table1=Test_xlsx_Sheet1!A1:N25,Table2=[CData].[MySchema].[Spreadsheet1_Sheet2!C3:M53],Table4=xIsPcLs2-bF3AavQcSLCfzs3kGc_Sheet4!C20:N60"

After setting DefineTables, you can then issue queries that reference the specified table name. Note that you can also use the range syntax directly in the SQL statement: append the range to the worksheet name with the # character.

For example, the following command will select the range of cells between A1 and E5:

SELECT * FROM Test_xlsx_Sheet1#A1:E5

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8462