| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Экспорт данных из листа Excel |
| Автор: mihanik 7.6.2006, 16:15 |
| Привет всем! Сейчас сижу в http://msdn.microsoft.com/library/rus/ ищу решение задачи Дано: 1. Работает моя программа, написанная на VB. :-) 2. Где-то лежит Excel-евский файл, в который пользователь вбил данные. 3. Мне надо этот файл найти. (Это просто. Уже сделал...) 4. Открыть так, чтобы он на экране не отображался. 5. Выдрать оттуда кое-что. 6. Файл закрыть. Проблема в том, что эксель запустить и создать новую рабочую книгу могу. Заставить его посчитать могу. Вбить программно в енту книгу данные могу. А вот уже готовый файл, - не могу. Ля-ля-ля, жу-жу-жу, я сегодня торможу... |
| Автор: Akina 7.6.2006, 16:28 |
| Так ты просто потяни из него данные через Jet - зачем его открывать-то? |
| Автор: mihanik 7.6.2006, 16:43 |
| м... Вариант. Только там структура документа такая замороченная! Это, на самом деле, эдакая форма для печати, куда бухи вносят данные. Там и графика, и... Короче, нужно взять данные буквально из пары клеток. |
| Автор: mihanik 7.6.2006, 23:02 | ||
| РЕШИЛ!!! Во-первых, заходим в Project/References и убеждаемся в том, что стоит галочка напротив пункта Microsoft Excel xx Object Library Здесь "xx" - это версия офиса. У меня офис 2003, поэтому вместо хх у меня 11.0. В этом-то и был главный затык!!!!!! Во-вторых, привожу пример кода, который выводит на экран сообщение с содержимым ячейки B2 c 3-го листа нужной книги екселя...
Спасибы Евангелосу Петрусосу!!! |
| Автор: AndreyK 7.7.2009, 15:49 | ||
| Эта тема называется "Экспорт данных из Excel" ... поэтому помещу свой вопрос сюда. Собственно с экспортом проблем нет. Считываю данные при помощи конструкции:
Но только небольшая проблема: Как узнать сколько строк в этом листе? Метод xls.Rows.Count - возвращает 65536 (хотя там конечно меньше) Проверять на пустые записи ? - так они там могут быть - по логике программы их надо игнорировать. Вот не знаю что делать - что-то нигде не нашёл ответа. |
| Автор: Akina 7.7.2009, 17:20 |
Посмотреть в справке, для чего существует SpecialCells |
| Автор: mihanik 8.7.2009, 17:30 |
| 3 года спустя... |
| Автор: AndreyK 5.4.2011, 12:32 | ||
К стати, есть продолжение темы.
Уже не актуально. У нас на работе снесли все экземпляры MS офиса (поскольку сильно дорогой) и установили бесплатный OpenOffice. Он использует непонятно какой формат Excel файлов (наверное office-2000), так что теперь все программы использующие этот подход , а также DAO - не работают - нет соответствующего ISAM для DAO. Хотя сам MS Office понимает формат файлов из OpenOffice и наоборот. Нет ли универсального способа прочесть Excel файлы - не зависимо от того, в каком офисе они были созданы? Например через OleDB ? |