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
Считывает все ячейки (включая скрытие). Это точно.
Т.к. именно от них мне и надо избавиться
Morpheus
21:03:2007, 11:35
У ячейки есть свойство
FormulaHidden = True - значить ячейка скрываеммая
Khlopik
21:03:2007, 11:59
Спасибо огромное. Я попробую. Если все получится, то выложу рабочий кусочек кода.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.