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

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

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

Сообщение alexs » 23.07.2014 15:47:30

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

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

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

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

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


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

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

Сообщение hovadur » 24.07.2014 15:30:33

Я давно использую TRxDBGrid и сказать хочу - хорошая работа. Это не только по поводу TRxDBGridExportSpreadSheet, а вообще в целом.
hovadur
постоялец
 
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

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

Сообщение alexs » 24.07.2014 17:56:46

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

Добавлено спустя 21 час 56 минут 21 секунду:
Добавил окно параметров экспорта - включается через свойство ShowSetupForm
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Little_Roo » 05.08.2014 14:46:23

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

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

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

Сообщение alexs » 05.08.2014 16:51:15

Русские ресурсы в rxdconst.ru.po - просто подключить его.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Little_Roo » 05.08.2014 19:20:58

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

Жарко :( Туплю :( КАК ???
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

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

Сообщение alexs » 05.08.2014 20:56:04

Код: Выделить всё
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;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Little_Roo » 06.08.2014 18:08:06

А ширину выводимых колонок можно как-то привязать к ширине их в гриде?
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

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

Сообщение alexs » 06.08.2014 21:41:09

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

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

Сообщение Little_Roo » 07.08.2014 00:40:25

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

Не-а...Все колонки одинаковой ширины (вроде по первой колонке) :?:
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

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

Сообщение alexs » 08.08.2014 09:44:31

Там минимальная ширина 20 символов
Поэтому такое поведение
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение Xenar » 04.10.2014 08:38:40

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

Компиляция пакета 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


все транковое
Аватара пользователя
Xenar
постоялец
 
Сообщения: 158
Зарегистрирован: 08.06.2011 12:54:07

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

Сообщение alexs » 04.10.2014 12:24:23

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

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

Сообщение alexs » 06.10.2014 08:07:12

Lazarus 1.3 r46440M FPC 2.7.1 x86_64-linux-gtk 2

fpspreadsheet - rev. 3630
rxfpc - rev. 3622

Всё собралось без ошибок.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в RxLib

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

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

Рейтинг@Mail.ru