Главная страница
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.029 c
14-1133336045
msguns
2005-11-30 10:34
2005.12.25
Kansas. Magnum Opus. Утопание в кайфе


4-1129821174
The One
2005-10-20 19:12
2005.12.25
Pointer --->Integer-->String, как?


14-1133361380
oleggar
2005-11-30 17:36
2005.12.25
testing


2-1133902863
Конопелька
2005-12-07 00:01
2005.12.25
Hint Message in system tray !


2-1133895371
De1uxe
2005-12-06 21:56
2005.12.25
параметр прямоугольника