ADO.NET Provider for Excel

Build 20.0.7655

Index Columns

The IndexColumns schema collection lists the indexes and their corresponding columns. By filtering on indexes, you can write more selective queries with faster query response times.

Retrieving Index Column Information

To retrieve this schema collection, call the GetSchema method of the ExcelConnection class. You can restrict the results by table name. The following example retrieves the column and sequence number for each index of the Excel table Sheet.


String connectionString = "Excel File=C:\MyExcelWorkbooks\SampleWorkbook.xlsx;";

using (ExcelConnection conn = new ExcelConnection(connectionString)) {
  DataTable databaseSchema = conn.GetSchema("IndexColumns", new string[] {"Sheet"});
  foreach (DataRow row in databaseSchema.Rows) {


Dim connectionString As String = "Excel File=C:\MyExcelWorkbooks\SampleWorkbook.xlsx;"

Using conn As New ExcelConnection(connectionString)
  Dim databaseSchema As DataTable = conn.GetSchema("IndexColumns",  New String() {"Sheet"})
  For Each row As DataRow In databaseSchema.Rows
End Using

Columns Returned

The IndexColumns schema collection returns the following columns:

Column NameData TypeDescription
INDEX_CATALOGSystem.StringThe name of the database containing the index.
INDEX_SCHEMASystem.StringThe name of the schema containing the index.
TABLE_NAMESystem.StringThe name of the table containing the index.
INDEX_NAMESystem.StringThe name of the index.
COLUMN_NAMESystem.StringThe name of the column associated with the index.
ORDINAL_POSITIONSystem.Int32The sequence number of the column.
SORT_ORDERSystem.Int32Returns A for ascending and D for descending.

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7655