📄 u_zjkgl_hz.pas
字号:
unit U_Zjkgl_Hz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, ToolWin, StdCtrls, ImgList, ActnList,
XPStyleActnCtrls, ActnMan, Grids, DBGrids,u_public_define, DBCtrls, Mask,
Excel2000, OleServer;
type
TFrm_zjkgl_Hz = class(TForm)
Tbar: TToolBar;
P2: TPanel;
Label2: TLabel;
ToolButton8: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ImageList1: TImageList;
ActionManager1: TActionManager;
Zj: TAction;
Zx: TAction;
Cz: TAction;
Excel: TAction;
Exit1: TAction;
ToolButton15: TToolButton;
Lvw_lb: TListView;
ExcelApplication1: TExcelApplication;
ExcelChart1: TExcelChart;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
procedure Size_Tz();
procedure FormResize(Sender: TObject);
procedure ZjExecute(Sender: TObject);
procedure Exit1Execute(Sender: TObject);
procedure Lvw_LbCellClick(Column: TColumn);
procedure enable_ctrl(bb:boolean);
procedure ZxExecute(Sender: TObject);
procedure ExcelExecute(Sender: TObject); //锁定控件
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_zjkgl_Hz: TFrm_zjkgl_Hz;
implementation
uses u_zjkgl_zjkgl_grzj,u_data,u_data_update,u_zhgl_zhgl_qtzj,
u_zjkgl_hzcz;
var
mbMoving:Boolean ;
{$R *.dfm}
procedure TFrm_zjkgl_Hz.Size_Tz();
begin
lvw_lb.Left:=5;
lvw_lb.Width:=self.Width-18;
p2.Left:=lvw_lb.Left;
p2.Width:=lvw_lb.Width;
//设置 Top 属性
if tbar.Visible then
begin
Lvw_Lb.Top :=tbar.Height+p2.Height+5;
end
else
begin
lvw_lb.Top:=p2.Height+5;
end;
//设置 height 属性
lvw_lb.Height := self.Height- (p2.Top + p2.Height) - 40;
//
end;
procedure TFrm_zjkgl_Hz.FormResize(Sender: TObject);
begin
Size_Tz();
frm_zjkgl_hzcz:=Tfrm_zjkgl_hzcz.Create(application);
frm_zjkgl_hzcz.ShowModal;
end;
procedure TFrm_zjkgl_Hz.ZjExecute(Sender: TObject);
begin
//G_Str_JBxx:='人员insert';
frm_zjkgl_zjkgl_grzj:=Tfrm_zjkgl_zjkgl_grzj.Create(application);
frm_zjkgl_zjkgl_grzj.ShowModal;
data.Mr_zjb.Close;
data.Mr_zjb.Open;
data.Mr_zjb.Active:=true;
end;
procedure TFrm_zjkgl_Hz.Exit1Execute(Sender: TObject);
begin
close;
//
end;
procedure TFrm_zjkgl_Hz.Lvw_LbCellClick(Column: TColumn);
begin
// g_str_selectkh:=dbedit2.Text;
// g_str_selectbh:=dbedit1.Text;
// enable_ctrl(true);
end;
procedure TFrm_zjkgl_Hz.enable_ctrl(bb:boolean);
var aa:string;
begin
//
end;
procedure TFrm_zjkgl_Hz.ZxExecute(Sender: TObject);
begin
frm_zhgl_zhgl_qtzj:=Tfrm_zhgl_zhgl_qtzj.Create(application);
frm_zhgl_zhgl_qtzj.ShowModal;
data.Mr_zjb.Close;
data.Mr_zjb.Open;
data.Mr_zjb.Active:=true;
end;
procedure TFrm_zjkgl_Hz.ExcelExecute(Sender: TObject);
var i,j,k:integer;
DataCount,HeadCount:integer;
Bt:array[1..30] of string;
bb:string;
begin
begin
//判断有无数据,如果没数据不能输出
i:=lvw_lb.Items.Count;
if i=0 then
begin
application.MessageBox('无记录不能打印!','明日科技');
exit;
end;
//判断有无Excel安装
try
excelapplication1.Connect;
except
application.MessageBox('机器没有正确安装Excel!','明日科技有限公司');
exit;
end;
//建立连接,进行命名
excelapplication1.Visible[1]:=true;
excelapplication1.Caption:=self.Caption;
excelapplication1.Workbooks.Add(null,0);
excelapplication1.Workbooks.Add(emptyparam,0);
excelworkbook1.ConnectTo(excelapplication1.Workbooks[1]);
excelworksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _Worksheet);
//打印表头
headcount:=lvw_lb.Columns.Count;
for i:=1 to headcount do
begin
Bt[i]:=lvw_lb.Columns.Items[i-1].Caption;
end;
for k:=1 to headcount do
begin
excelworksheet1.Cells.Item[1,k]:=Bt[k];
end;
//打印数据
datacount:=lvw_lb.Items.Count;
for j:= 0 to datacount-1 do
begin
for k:=0 to headcount-1 do
begin
if k=0 then
begin
excelworksheet1.Cells.Item[j+2,k+1]:=lvw_lb.Items[j].Caption;
end
else
begin
bb:=lvw_lb.Items[j].SubItems[k-1];
excelworksheet1.Cells.Item[j+2,k+1]:=bb;
end;
end;
end;
excelapplication1.Disconnect;
// application.MessageBox('报表导出成功','明日科技');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -