Вниз
Скачать: 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.029 c
14-1133279046
Piter
2005-11-29 18:44
2005.12.25
Сотовая связь в Германии


1-1133366543
legeyda
2005-11-30 19:02
2005.12.25
Ошибка dib.dcu в делфи


1-1133426979
general
2005-12-01 11:49
2005.12.25
Ограничение на длину элемента списка в TMemo


2-1134013140
Tin
2005-12-08 06:39
2005.12.25
Вопрос по рациональному использованию базы данных


3-1131443597
Laymer
2005-11-08 12:53
2005.12.25
Получение список таблиц и их полей




   Наверх