93 lines
2.3 KiB
ObjectPascal
93 lines
2.3 KiB
ObjectPascal
|
|
||
|
{******************************************}
|
||
|
{ }
|
||
|
{ FastReport VCL }
|
||
|
{ XLSX export dialog }
|
||
|
{ }
|
||
|
{ Copyright (c) 1998-2021 }
|
||
|
{ }
|
||
|
{******************************************}
|
||
|
|
||
|
unit frxExportXLSXDialog;
|
||
|
|
||
|
interface
|
||
|
|
||
|
{$I frx.inc}
|
||
|
|
||
|
uses
|
||
|
{$IFNDEF FPC}
|
||
|
Windows, Messages, ShellAPI,
|
||
|
{$ELSE}
|
||
|
LCLType, LCLIntf,
|
||
|
{$ENDIF}
|
||
|
SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Types,
|
||
|
StdCtrls, ExtCtrls, ComCtrls, frxExportBaseDialog
|
||
|
{$IFDEF DELPHI16}
|
||
|
, System.UITypes
|
||
|
{$ENDIF}
|
||
|
;
|
||
|
|
||
|
type
|
||
|
TfrxXLSXExportDialog = class(TfrxBaseExportDialog)
|
||
|
ContinuousCB: TCheckBox;
|
||
|
SplitToSheetGB: TGroupBox;
|
||
|
RPagesRB: TRadioButton;
|
||
|
NotSplitRB: TRadioButton;
|
||
|
RowsCountRB: TRadioButton;
|
||
|
edChunk: TEdit;
|
||
|
PageBreaksCB: TCheckBox;
|
||
|
WCB: TCheckBox;
|
||
|
DataOnlyCB: TCheckBox;
|
||
|
protected
|
||
|
procedure InitControlsFromFilter(ExportFilter: TfrxBaseDialogExportFilter); override;
|
||
|
procedure InitFilterFromDialog(ExportFilter: TfrxBaseDialogExportFilter); override;
|
||
|
end;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
uses
|
||
|
frxRes, frxrcExports, frxExportXLSX;
|
||
|
|
||
|
{$R *.dfm}
|
||
|
|
||
|
{ TfrxXLSXExportDialog }
|
||
|
|
||
|
procedure TfrxXLSXExportDialog.InitControlsFromFilter(
|
||
|
ExportFilter: TfrxBaseDialogExportFilter);
|
||
|
begin
|
||
|
inherited;
|
||
|
with TfrxXLSXExport(ExportFilter) do
|
||
|
begin
|
||
|
NotSplitRB.Checked := SingleSheet;
|
||
|
RPagesRB.Checked := not SingleSheet and (ChunkSize = 0);
|
||
|
RowsCountRB.Checked := ChunkSize > 0;
|
||
|
edChunk.Text := IntToStr(ChunkSize);
|
||
|
WCB.Checked := Wysiwyg;
|
||
|
ContinuousCB.Checked := not EmptyLines;
|
||
|
PageBreaksCB.Checked := ExportPageBreaks;
|
||
|
DataOnlyCB.Checked := DataOnly;
|
||
|
end;
|
||
|
end;
|
||
|
|
||
|
procedure TfrxXLSXExportDialog.InitFilterFromDialog(
|
||
|
ExportFilter: TfrxBaseDialogExportFilter);
|
||
|
begin
|
||
|
with TfrxXLSXExport(ExportFilter) do
|
||
|
begin
|
||
|
Wysiwyg := WCB.Checked;
|
||
|
EmptyLines := not ContinuousCB.Checked;
|
||
|
ExportPageBreaks := PageBreaksCB.Checked and (not ContinuousCB.Checked);
|
||
|
SingleSheet := NotSplitRB.Checked;
|
||
|
DataOnly := DataOnlyCB.Checked;
|
||
|
if RowsCountRB.Checked then
|
||
|
try
|
||
|
ChunkSize := StrToInt(edChunk.Text);
|
||
|
except
|
||
|
ChunkSize := 0;
|
||
|
end;
|
||
|
end;
|
||
|
inherited;
|
||
|
end;
|
||
|
|
||
|
end.
|