Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1133027361
SergP
2005-11-26 20:49
2005.12.25
Прерывание Thread из-за исключения...


2-1134231266
vasek
2005-12-10 19:14
2005.12.25
Создал базу данных в IBExpert. В базе данных 3-и таблицы:


3-1131359266
M@xim
2005-11-07 13:27
2005.12.25
Клиент - сервер


6-1127139449
Hamsterman
2005-09-19 18:17
2005.12.25
Возможно ли в Delphi программным путём посылать HTML forms?


14-1133622497
Piter
2005-12-03 18:08
2005.12.25
Ну блин, долбанный дос, долбанные программисты




   Наверх