📄 fmbaseqryu.pas
字号:
unit FMBaseQryU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FMBaseU, DB, ADODB, StdCtrls, Buttons, ExtCtrls, ImgList,
ComCtrls, ToolWin,DBGrids,ComObj;
type
TFMBaseQry = class(TFMBase)
Panel2: TPanel;
ToolBar: TToolBar;
btnQuery: TToolButton;
btnClear: TToolButton;
btnPrint: TToolButton;
btnExcle: TToolButton;
btnExit: TToolButton;
btnExp: TToolButton;
ImageList1: TImageList;
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
sCCompanyName :string ;
procedure SaveExcel(strSheet,strTitle:string;DBGrid :TDBGrid);
end;
var
FMBaseQry: TFMBaseQry;
implementation
{$R *.dfm}
procedure TFMBaseQry.BitBtn4Click(Sender: TObject);
begin
inherited;
close ;
end;
procedure TFMBaseQry.FormCreate(Sender: TObject);
begin
//inherited;
end;
procedure TFMBaseQry.btnExitClick(Sender: TObject);
begin
inherited;
close ;
end;
{保存Excel文件}
procedure TFMBaseQry.SaveExcel(strSheet,strTitle:string;DBGrid :TDBGrid);
var
i,j :integer ;
XLApplication :Variant ;
SheetNum :Variant ;
Save_Cursor:TCursor;
begin
Save_Cursor := Screen.Cursor;
Screen.Cursor := crSQLWait;
XLApplication :=CreateOleObject('Excel.Application');
XLApplication.Workbooks.Add;
XLApplication.Workbooks[1].WorkSheets[1].name :=strSheet;
XLApplication.Workbooks[1].WorkSheets[2].name :='其他1';
XLApplication.Workbooks[1].WorkSheets[3].name :='其他2';
SheetNum :=XLApplication.Workbooks[1].workSheets[strSheet];
SheetNum.Cells.item[1, 4] :=sCCompanyName ;
SheetNum.Cells.item[2, 4] :=strSheet;
SheetNum.Cells.item[3, 1] :=strTitle ;
SheetNum.Cells.item[3, 1].font.size := '11';
//保存数量帐
DBGrid.DataSource.DataSet.DisableControls ;
DBGrid.DataSource.DataSet.First;
for j := 0 to DBGrid.FieldCount - 1 do
begin//设置启始行的位置和字体
SheetNum.Cells.item[4, j + 1] := DBGrid.Columns[j].Title.Caption ;
SheetNum.Cells.item[4, j + 1].font.size := '10';
end;
for i := 0 to DBGrid.DataSource.DataSet.RecordCount -1 do
begin
for j := 0 to DBGrid.FieldCount - 1 do
begin
SheetNum.Cells.item[i+5, j + 1] :=DBGrid.Fields[j].Asstring;
SheetNum.Cells.item[i+5, j + 1].font.size := '10';
end;
DBGrid.DataSource.DataSet.next;
end;
DBGrid.DataSource.DataSet.First;
DBGrid.DataSource.DataSet.EnableControls ;
Screen.Cursor := Save_Cursor;
XLApplication.Visible :=True ;
end ;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -