FPSpreadsheet авто-фильтр и закрепление

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

FPSpreadsheet авто-фильтр и закрепление

Сообщение jonyrh » 10.09.2020 18:24:40

Уважаемые гуру, подскажите, пожалуйста, возможно ли в FPSpreadsheet добавить авто-фильтр и есть ли закрепление столбцов/строк?
Перерыл демо, доку, в исходниках искал, но не нашел... Возможно авто-фильтр задается как то через запись формулы или я ошибаюсь?
Аватара пользователя
jonyrh
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.09.2020 12:29:24

Re: FPSpreadsheet авто-фильтр и закрепление

Сообщение Dakor » 11.09.2020 22:47:12

Закрепление
Код: Выделить всё
TsWorksheet.LeftPaneWidth:= 1; // 1- кол-во столбцов
TsWorksheet.TopPaneHeight:= 2; // 2 - кол-во строк
Dakor
новенький
 
Сообщения: 16
Зарегистрирован: 15.04.2018 00:01:01

Re: FPSpreadsheet авто-фильтр и закрепление

Сообщение jonyrh » 11.09.2020 23:34:22

Dakor писал(а):Закрепление
Код: Выделить всё
TsWorksheet.LeftPaneWidth:= 1; // 1- кол-во столбцов
TsWorksheet.TopPaneHeight:= 2; // 2 - кол-во строк

Отлично! Спасибо! Осталось разобраться с формулой для получения авто-фильтра, помню, раньше я пробовал прочитать формулу из ячейки с фильтром, и она была, осталось проверить этот вариант...

Добавлено спустя 23 часа 24 минуты 39 секунд:
Увы, но закрепление тоже не работает, в классе LeftPaneWidth и TopPaneHeight только описаны, ни какой работы с ними нет... они просто есть, печально... :(
Аватара пользователя
jonyrh
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.09.2020 12:29:24

Re: FPSpreadsheet авто-фильтр и закрепление

Сообщение Dakor » 13.09.2020 08:26:09

Прошу прощения, забыл про опции:
Код: Выделить всё
TsWorksheet.Options:= TsWorksheet.Options + [soHasFrozenPanes];   

Вот рабочий пример:
Код: Выделить всё
procedure Test;
var
  WBook: TsWorkbook;
  WSheet: TsWorksheet;
  i,j: Cardinal;
begin
  WBook:= TsWorkbook.Create;
  try
    WSheet:= WBook.AddWorksheet('Лист1');
    for i:= 0 to 50 do
      for j:= 0 to 50 do
        WSheet.WriteText(i,j, 'R' + IntToStr(i+1) + '; C' + IntToStr(j+1));
    WSheet.Options:= WSheet.Options + [soHasFrozenPanes];
    WSheet.LeftPaneWidth:= 2;
    WSheet.TopPaneHeight:= 3;
    WBook.WriteToFile('test.xlsx', sfOOXML, True);
  finally
    FreeAndNil(WBook);
  end;   
end;
Dakor
новенький
 
Сообщения: 16
Зарегистрирован: 15.04.2018 00:01:01

Re: FPSpreadsheet авто-фильтр и закрепление

Сообщение jonyrh » 13.09.2020 09:26:22

Еще раз спасибо! Все работает! :D
Аватара пользователя
jonyrh
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.09.2020 12:29:24


Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru