📄 u_bb_xfhz.~pas
字号:
unit U_bb_xfHz;
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_Bb_xfHz = class(TForm)
Tbar: TToolBar;
ToolButton16: TToolButton;
ToolButton15: TToolButton;
ToolButton8: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
P2: TPanel;
Label2: TLabel;
Lvw_lb: TListView;
ImageList1: TImageList;
ActionManager1: TActionManager;
Excel: TAction;
Exit1: TAction;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Action1: TAction;
ExcelApplication1: TExcelApplication;
ExcelChart1: TExcelChart;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
procedure Size_Tz();
procedure FormResize(Sender: TObject);
procedure Exit1Execute(Sender: TObject);
procedure Lvw_LbCellClick(Column: TColumn);
procedure enable_ctrl(bb:boolean);
procedure ExcelExecute(Sender: TObject);
procedure Action1Execute(Sender: TObject); //锁定控件
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_Bb_xfHz: TFrm_Bb_xfHz;
implementation
uses u_zjkgl_zjkgl_grzj,u_data,u_data_update,u_zhgl_zhgl_qtzj,U_Bb_Zjk_Zjkmx,
u_bb_xf_xfcz;
var
mbMoving:Boolean ;
{$R *.dfm}
procedure TFrm_Bb_xfHz.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_Bb_xfHz.FormResize(Sender: TObject);
begin
Size_Tz();
frm_bb_xf_xfcz:=Tfrm_bb_xf_xfcz.Create(application);
frm_bb_xf_xfcz.ShowModal;
end;
procedure TFrm_Bb_xfHz.Exit1Execute(Sender: TObject);
begin
close;
//
end;
procedure TFrm_Bb_xfHz.Lvw_LbCellClick(Column: TColumn);
begin
// g_str_selectkh:=dbedit2.Text;
// g_str_selectbh:=dbedit1.Text;
// enable_ctrl(true);
end;
procedure TFrm_Bb_xfHz.enable_ctrl(bb:boolean);
var aa:string;
begin
//
end;
procedure TFrm_Bb_xfHz.ExcelExecute(Sender: TObject);
var i,j,k:integer;
DataCount,HeadCount:integer;
Bt:array[1..30] of 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:= 1 to datacount do
begin
for k:=0 to headcount-1 do
begin
if k=0 then
begin
excelworksheet1.Cells.Item[j+1,k+1]:=lvw_lb.Items[j].Caption;
end
else
begin
excelworksheet1.Cells.Item[j+1,k+1]:=lvw_lb.Items[j].SubItems[k+1];
end;
end;
end;
excelapplication1.Disconnect;
// application.MessageBox('报表导出成功','明日科技');
end;
end;
procedure TFrm_Bb_xfHz.Action1Execute(Sender: TObject);
begin
frm_bb_xf_xfcz:=Tfrm_bb_xf_xfcz.Create(application);
frm_bb_xf_xfcz.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -