Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Delphi - СОМ _ Считывание данных из Excel (без скрытых строк)

Автор: Khlopik 20:03:2007, 19:36

Доброе время суток.

Суть проблемы - необходимо считать из Excel-файла данные в массив, причем исключая скрытые строки.
В различных форумах видел различные пути решения (в основном два типа считывания данных), но не нашел именно то, что соответствует моей задаче.
Считывание всех значений осуществляю следующим образом:
...
ASheet:=WB.Worksheets.Item[SheetNumber] as ExcelWorkSheet;
MyVarArray := ASheet.UsedRange[lcid].Value[xlRangeValueDefault];
for R := VarArrayLowBound(MyVarArray, 1) to VarArrayHighBound(MyVarArray, 1) do
for C := VarArrayLowBound(MyVarArray, 2) to VarArrayHighBound(MyVarArray, 2) do
begin
FormConfigure.SourceGrid.Cells[C,R]:=VarToStr(MyVarArray[R,C]);
end;
...

Подскажите, пожалуйста, что необходимо добавить в код, чтобы исключить считывание hidden rows?
Заранее благодарен.

Автор: Morpheus 21:03:2007, 07:10

Для: Khlopik
с Вашим кодом наверное никак, только построчное считывание каждой ячейки, с проверкой свойств этой самой ячейки( не скрыта ли она )

Автор: Khlopik 21:03:2007, 10:15

Жаль. Спасибо.

А какое свойство отвечает за скрытость? И вообще может ли ячейка быть скрытой? Это вроде бы касается либо столбцов, либо строк. Возможно свойство row или column?

Автор: Morpheus 21:03:2007, 10:27

Формат ячейки - Защита - Срыть ячейку

Для: Khlopik
Да кстати , Вы уверены что при считывании у Вас получаеться забирать значения из скрытых ячеек?

Автор: Khlopik 21:03:2007, 11:31

Считывает все ячейки (включая скрытие). Это точно.
Т.к. именно от них мне и надо избавиться smile.gif

Автор: Morpheus 21:03:2007, 11:35

У ячейки есть свойство
FormulaHidden = True - значить ячейка скрываеммая

Автор: Khlopik 21:03:2007, 11:59

Спасибо огромное. Я попробую. Если все получится, то выложу рабочий кусочек кода.

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)