Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Проблема с чтением данных из Excel   Найти похожие ветки 

 
rel_   (2005-11-30 00:55) [0]

Я читаю данные из файла Excel самым примитивным образом. Типа:
lExcelApp := CreateOleObject("Excel.Application");

lExcelApp.Workbooks.Open(fileName);
lWorkSheet := lExcelApp.Workbooks[ExtractFileName(fileName)].WorkSheets[1];
lRange := lWorkSheet.UsedRange;

затем из lRange.Value беру данные.

Так вот проблема - для одних файлов это стабатывает, для других - нет.

Мастера, может это известная проблема - подскажите как уж действительно наверняка можно прочитать данные.


 
vvvaaa   (2005-11-30 10:31) [1]

>затем из lRange.Value беру данные.

Каким именно образом береш эти данные?


 
umbra ©   (2005-11-30 11:34) [2]


> для одних файлов это стабатывает, для других - нет

это может не сработать, если в книге нет листов с данными, а только диаграммы, нетданных на первом листе, или если у листов с данными Visible = xlVeryHidden или по десятку других причин. Так навскидку ничего сказать нельзя


 
rel_   (2005-11-30 14:05) [3]

Так данные правильно наверное беру.
В ряде случаев работает.
А в ряде случаев - просто получаю пустую lRange.Value : VarIsEmpty(lRange.Value).

Даже когда начинаю читать прочто из ячеек - там ничего нет.
Хотя открываю документ - там определённо содержатся данные.
Единственная особенность документа - некоторые ячейки замержены.

Просто каким образом мне *наверняка* можно прочитать документ?


 
Digitman ©   (2005-11-30 14:21) [4]

даже при полностью пустом раб.листе обращение к

activesheet.usedrange.cells.count

вернет 1

проверь это в окне отладки в Excel Visual Basic и убедись сам

а раз 1 увидел, то usedrange-объект при этом заведомо не Null


 
umbra ©   (2005-11-30 15:00) [5]

логика подсказывает, что надо от объединенных ячеек избавиться, перед тем, как UsedRange получать. Но если заранее неизвестно, какие ячейки объединенные, то потом непонятно, в каких ячейках просто ничего нет, а в каких ничего нет, потому что они были обединены



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
14-1133453114
Витёк
2005-12-01 19:05
2005.12.25
Как узнать наиболее встречающееся слово в массиве??


2-1133880654
Максим
2005-12-06 17:50
2005.12.25
Помогите перевести код из Turbo Pascal в Delphi.


1-1133027361
SergP
2005-11-26 20:49
2005.12.25
Прерывание Thread из-за исключения...


14-1133475106
sedot
2005-12-02 01:11
2005.12.25
Анонимная почта


2-1134141755
fast2
2005-12-09 18:22
2005.12.25
Как узнать номер текущей записи в Парадокс таблице?