⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 可以将 TDBGrid/TDataSet数据导入到Excel
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExportDS, SME2Cell, SME2XLS, Grids, DBGrids, Db, DBTables, StdCtrls,
  ExtCtrls, ComCtrls;

type
  TfrmXLSExport = class(TForm)
    pnlTop: TPanel;
    btnExport: TButton;
    tblSource: TTable;
    dSrcSource: TDataSource;
    DBGridSource: TDBGrid;
    SMExportToXLS1: TSMExportToXLS;
    lblFilter: TLabel;
    DateTimePicker: TDateTimePicker;
    procedure btnExportClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DateTimePickerExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmXLSExport: TfrmXLSExport;

implementation

{$R *.DFM}


procedure TfrmXLSExport.btnExportClick(Sender: TObject);
begin
  SMExportToXLS1.Execute
end;

procedure TfrmXLSExport.FormCreate(Sender: TObject);
begin
  DateTimePicker.Date := tblSource.FieldByName('SaleDate').AsDateTime;
end;

procedure TfrmXLSExport.DateTimePickerExit(Sender: TObject);
var
  PureDateWithoutTime: TDateTime;
begin
  {re switch a filter}
  tblSource.DisableControls;
  tblSource.Filtered := False;

  {the field can contain a date AND time but in TDateTimePicker we entered a pure date only
   so we must filter a data by '(Field => day) AND (Field < day+1)'}

  {1. read an entered date}
  PureDateWithoutTime := Trunc(DateTimePicker.Date);
  {set filter}
  tblSource.Filter := '(SaleDate = ''' + FormatDateTime('dd/mm/yyyy', PureDateWithoutTime) + ''')' +
                      ' AND ' +
                      '(SaleDate < ''' + FormatDateTime('dd/mm/yyyy', PureDateWithoutTime+1) + ''')';

  tblSource.Filtered := True;
  tblSource.EnableControls;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -