Новый компонент - TRxDBGridExportSpreadSheet

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

Ответить
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Новый компонент - TRxDBGridExportSpreadSheet

Сообщение alexs »

Реализовал новый компонент - TRxDBGridExportSpreadSheet.
Пример по работе с ним в папке Demos/RxDBGrid_ExportSpreadsheet.

Преданазначен для экспорта текущего содержимого RxDBGrid, к которому он подключен, в электронную таблицу.
Для экспорта использую пакет fpspreadsheet из LazarusCCR.
Поддерживаются форматы ODS, XLS, XLSX.

Не работает на данный момент правильно слитие заголовков, отображение итоговой строки. Также из опций работает только ressExportTitle.

В планах - реализация окна параметров экспорта, полноценные формулы в итоговой строке.

Также при подключении комопонента экспорта к гриду, он регистрирует себя в контекстном меню инструментов грида.
Как всегда - замечания и пожелания приветсвуются.


Попутно начал реализацию абстрактного класса инструментов.
hovadur
постоялец
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Сообщение hovadur »

Я давно использую TRxDBGrid и сказать хочу - хорошая работа. Это не только по поводу TRxDBGridExportSpreadSheet, а вообще в целом.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Спасибо.
Я и сам его использую... :lol:

Добавлено спустя 21 час 56 минут 21 секунду:
Добавил окно параметров экспорта - включается через свойство ShowSetupForm
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

alexs писал(а):Добавил окно параметров экспорта - включается через свойство ShowSetupForm

Окно руссифицируется ?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Русские ресурсы в rxdconst.ru.po - просто подключить его.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

alexs писал(а):Русские ресурсы в rxdconst.ru.po - просто подключить его.

Жарко :( Туплю :( КАК ???
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Код: Выделить всё

uses Translations;

procedure TranslateLCL;
var
  UserLang, lngFolder, poFileName:string;
begin
  lngFolder:=ExtractFileDir(ParamStr(0))+DirectorySeparator + 'languages'+DirectorySeparator;
  UserLang:='ru';
  poFileName:= lngFolder + Format('lclstrconsts.%s.po', [UserLang]);
  if FileExists(poFileName) then
    Translations.TranslateUnitResourceStrings('LCLStrConsts', poFileName);

    poFileName:= lngFolder + Format('lr_const.%s.po', [UserLang]);
    if FileExists(poFileName) then
        Translations.TranslateUnitResourceStrings('LR_Const', poFileName);

    poFileName:= lngFolder +DirectorySeparator + Format('rxconst.%s.po', [UserLang]);
    if FileExists(poFileName) then
        Translations.TranslateUnitResourceStrings('rxconst', poFileName);

    poFileName:= lngFolder +DirectorySeparator + Format('rxdconst.%s.po', [UserLang]);
    if FileExists(poFileName) then
        Translations.TranslateUnitResourceStrings('rxdconst', poFileName);
end;
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

А ширину выводимых колонок можно как-то привязать к ширине их в гриде?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Она привязана.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

alexs писал(а):Она привязана.

Не-а...Все колонки одинаковой ширины (вроде по первой колонке) :?:
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Там минимальная ширина 20 символов
Поэтому такое поведение
Аватара пользователя
Xenar
постоялец
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

Сообщение Xenar »

При установке компонента ошибки

Компиляция пакета rxdbgrid_export_spreadsheet 0.9.0.2: Код завершения 256, ошибок: 3
rxdbgridexportspreadsheet.pas(97,36) Error: Identifier not found "TsHorAlignment"
rxdbgridexportspreadsheet.pas(97,51) Error: Error in type definition
rxdbgridexportspreadsheet.pas(97,80) Fatal: Syntax error, "," expected but ";" found


все транковое
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Проверю. Могли что либо сломать.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Lazarus 1.3 r46440M FPC 2.7.1 x86_64-linux-gtk 2

fpspreadsheet - rev. 3630
rxfpc - rev. 3622

Всё собралось без ошибок.
Ответить