Доброе время суток.
Суть проблемы - необходимо считать из 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?
Заранее благодарен.
Для: Khlopik
с Вашим кодом наверное никак, только построчное считывание каждой ячейки, с проверкой свойств этой самой ячейки( не скрыта ли она )
Жаль. Спасибо.
А какое свойство отвечает за скрытость? И вообще может ли ячейка быть скрытой? Это вроде бы касается либо столбцов, либо строк. Возможно свойство row или column?
Формат ячейки - Защита - Срыть ячейку
Для: Khlopik
Да кстати , Вы уверены что при считывании у Вас получаеться забирать значения из скрытых ячеек?
Считывает все ячейки (включая скрытие). Это точно.
Т.к. именно от них мне и надо избавиться
У ячейки есть свойство
FormulaHidden = True - значить ячейка скрываеммая
Спасибо огромное. Я попробую. Если все получится, то выложу рабочий кусочек кода.
Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)