Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2011, 23:16   #1
b_yurij
Новичок
Джуниор
 
Регистрация: 29.03.2011
Сообщений: 1
По умолчанию как посмотреть метаданные EXCEL файла(GetOleDbSchemaTable)

День добрый всем,
MS Excel 2003, есть документ ексель с набором листов и именованными диапазонами, я из пакета MS SQL 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;Exten ded 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(OleDbSchemaG uid.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()
-----------------------------------
b_yurij вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как данные из одного файла Excel сохранить в другой? Papiruzzz Microsoft Office Excel 3 17.01.2011 13:14
Метаданные из JPEG MaxMad Помощь студентам 0 05.12.2010 19:52
Как найти путь файла в Excel 2007 Алена-2009 Microsoft Office Excel 2 30.06.2010 13:29
Как вставить в таблицу Excel данные из текстового файла Диагностик Microsoft Office Excel 8 13.12.2009 13:50
Как из текстового файла перенести данные в excel файл hunter05 Microsoft Office Excel 1 08.09.2009 06:30