powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как посмотреть метаданные EXCEL файла(GetOleDbSchemaTable)
1 сообщений из 1, страница 1 из 1
как посмотреть метаданные EXCEL файла(GetOleDbSchemaTable)
    #37189074
Yuri_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый всем,
MS Excel 2003, есть документ ексель с набором листов и именованными диапазонами,
я из пакета IS в ScriptTask обращаюсь к документу и считываю его метаданные с помощью GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
но как я вижу я могу вытащить информативные значения :TABLE_NAME и TABLE_TYPE

а мне в добавок нужно знать:
1.как различить лист это или именованный диапазон - предполагаю что если название заканчивается на знак $ то это лист.
2.номер листа слева направо в документе - листы же можно перемещать - мне нужно взять первый лист слева направо - как это сделать не знаю, может есть какой-нибудь TABLE_ORDINAL_POSITION или что-то в этом роде - как вытащить номер листа слева направо?

вот скрипт который достает метаданные из Excel(там кроме имени листа и типа(у всех TABLE даже у диапазонов) нет данных):
-----------------------------------
Dim strCn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=D:\test_excel\meta.xls;Extended Properties=Excel 8.0;"
Dim dtTables As DataTable
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
Dim G As String
Dim H As String
Dim cn As OleDbConnection = New OleDbConnection(strCn)
cn.Open()

dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)

For Each row As DataRow In dtTables.Rows
A = row("TABLE_NAME").ToString()
B = row("TABLE_TYPE").ToString()
C = row("DATE_CREATED").ToString()
D = row("DATE_MODIFIED").ToString()
E = row("TABLE_CATALOG").ToString()
F = row("TABLE_SCHEMA").ToString()
G = row("TABLE_GUID").ToString()
H = row("TABLE_PROPID").ToString()

OutputBuffer.AddRow()
OutputBuffer.A = A
OutputBuffer.B = B
OutputBuffer.C = C
OutputBuffer.D = D
OutputBuffer.E = E
OutputBuffer.F = F
OutputBuffer.G = G
Next

cn.Close()

OutputBuffer.SetEndOfRowset()
-----------------------------------
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как посмотреть метаданные EXCEL файла(GetOleDbSchemaTable)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]