NativeExcel suite v2.x

TDBGrid2Excel sample

This example demonstrates the capabilities of TDBGrid2Excel component

Screenshot

Excel format (with original formatting)

Excel format (with specified formatting)

HTML format (with original formatting)

HTML format (with specified formatting)

RTF format (with original formatting)

RTF format (with specified formatting)

Source code

unit ExportSample3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGrids, Db, DBTables, nExcel,
  DBGrid2Excel;

type
  TDBGrid2ExcelSample = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    SaveAsSingleSheet: TButton;
    SaveDialog1: TSaveDialog;
    SingleSheetExportGroup: TGroupBox;
    MultiSheetExportGroup: TGroupBox;
    OriginalFormatting: TCheckBox;
    DBGrid2Excel1: TDBGrid2Excel;
    SaveAsMultiSheet: TButton;
    procedure FormCreate(Sender: TObject);
    procedure SaveAsSingleSheetClick(Sender: TObject);
    procedure SaveAsMultiSheetClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DBGrid2ExcelSample: TDBGrid2ExcelSample;

implementation

{$R *.DFM}

procedure TDBGrid2ExcelSample.FormCreate(Sender: TObject);
begin
  //set specified formatting options
  Dbgrid2Excel1.DetailColor := RGB(255, 255, 153);
  Dbgrid2Excel1.HeaderColor := RGB(51, 153, 102);
  Dbgrid2Excel1.DetailFont.Color := RGB(51, 153, 102);
  Dbgrid2Excel1.HeaderFont.Color := RGB(255, 255, 153);
  Dbgrid2Excel1.HeaderFont.Name := 'Times New Roman';
  Dbgrid2Excel1.HeaderFont.Size := 14;
  Dbgrid2Excel1.DetailFont.Name := 'Arial';
  Dbgrid2Excel1.DetailFont.Size := 10;
  Dbgrid2Excel1.HeaderBorderStyle := BorderStyleSingleThin;
  Dbgrid2Excel1.DetailBorderStyle := BorderStyleSingleThin;
  Dbgrid2Excel1.HeaderBorderColor := RGB(0, 51, 0);
  Dbgrid2Excel1.DetailBorderColor := RGB(0, 51, 0);
end;

procedure TDBGrid2ExcelSample.SaveAsSingleSheetClick(Sender: TObject);
begin
  If SaveDialog1.Execute then begin
     //disable buttons
     SaveAsSingleSheet.Enabled := false;
     SaveAsMultiSheet.Enabled := false;
     //Worksheet name
     if OriginalFormatting.Checked then
        Dbgrid2Excel1.WorksheetName := 'Original formatting'
     else
        Dbgrid2Excel1.WorksheetName := 'Specified formatting';
     //Set options
     Dbgrid2Excel1.OriginalHeaderFont := OriginalFormatting.Checked;
     Dbgrid2Excel1.OriginalDetailFont := OriginalFormatting.Checked;
     Dbgrid2Excel1.OriginalHeaderColor := OriginalFormatting.Checked;
     Dbgrid2Excel1.OriginalDetailColor := OriginalFormatting.Checked;
     //Export DBGrid
     Dbgrid2Excel1.SaveDBGridAs(SaveDialog1.FileName);
     //destroy workbook
     Dbgrid2Excel1.Workbook := nil;
     //enable buttons
     SaveAsSingleSheet.Enabled := true;
     SaveAsMultiSheet.Enabled := true;
  end;
end;

procedure TDBGrid2ExcelSample.SaveAsMultiSheetClick(Sender: TObject);
begin
  If SaveDialog1.Execute then begin
      //disable buttons
      SaveAsMultiSheet.Enabled := false;
      SaveAsSingleSheet.Enabled := false;
      //first sheet with original formatting
      Dbgrid2Excel1.WorksheetName := 'Original formatting';
      //options
      Dbgrid2Excel1.OriginalHeaderFont := true;
      Dbgrid2Excel1.OriginalDetailFont := true;
      Dbgrid2Excel1.OriginalHeaderColor := true;
      Dbgrid2Excel1.OriginalDetailColor := true;
      //Export dbgrid
      Dbgrid2Excel1.ExportDBGrid;
      //Second sheet with specified formatting
      Dbgrid2Excel1.WorksheetName := 'Specified formatting';
      //options
      Dbgrid2Excel1.OriginalHeaderFont := false;
      Dbgrid2Excel1.OriginalDetailFont := false;
      Dbgrid2Excel1.OriginalHeaderColor := false;
      Dbgrid2Excel1.OriginalDetailColor := false;
      //Export dbgrid
      Dbgrid2Excel1.ExportDBGrid;
      //save workbook
      Dbgrid2Excel1.SaveAs(SaveDialog1.FileName);
      //destroy workbook
      Dbgrid2Excel1.Workbook := nil;
      //enable buttons
      SaveAsMultiSheet.Enabled := true;
      SaveAsSingleSheet.Enabled := true;
   end;
end;

end.
Copyright © NikaSoft 2004-2010