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

📄 ureport.pas

📁 商场销售信息系统只要用于小商场的销售管理
💻 PAS
字号:
unit Ureport;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BusinessSkinForm, bsSkinCtrls, ComCtrls;

type
  TfrmReport = class(TForm)
    bsBusinessSkinForm1: TbsBusinessSkinForm;
    bsSkinPanel1: TbsSkinPanel;
    bsSkinScrollBar1: TbsSkinScrollBar;
    bsSkinScrollBar2: TbsSkinScrollBar;
    lvFind: TbsSkinListView;
    bsSkinPanel3: TbsSkinPanel;
    btnFind: TbsSkinButton;
    btnExport: TbsSkinButton;
    btnClose: TbsSkinButton;
    bsSkinStatusPanel1: TbsSkinStatusPanel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnFindClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnExportClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmReport: TfrmReport;

implementation
uses upublic,comobj,excelxp,umain, Ufind;
{$R *.dfm}

procedure TfrmReport.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
frmReport:=nil;
end;
//条件查找
procedure TfrmReport.btnFindClick(Sender: TObject);
begin
if not assigned(frmFind) then
  frmFind:=TfrmFind.create(self);
if frmFind.ShowModal=idok then
begin
if strsql='' then
begin
   frmmain.bsmessage.MessageDlg('对不起,您没有输入查询条件!',mtWarning,[mbOK],0);
   bsSkinStatusPanel1.Caption:=' 没有输入查询条件';
   exit;
end;
lvFind.Items.Clear;
rs:=CreateOleObject('ADODB.Recordset');
try
  rs.open('select * from tXiaoShou where '+strSql,conn,1,1);
  while not rs.eof do
  begin
    with lvFind.Items.Add do
    begin
      caption:=rs.fields.Item['rq'].value;
      subitems.Add(rs.fields.Item['spmc'].value);
      subitems.Add(rs.fields.Item['sptm'].value);
      subitems.Add(rs.fields.Item['spclass'].value);
      subitems.Add(rs.fields.Item['spdj'].value);
      subitems.Add(rs.fields.Item['xssl'].value);
      subitems.Add(rs.fields.Item['spje'].value);
      subitems.Add(rs.fields.Item['gtdm'].value);
    end;
    rs.moveNext;
    application.ProcessMessages;
  end;
finally
  rs.close;
  rs:=unassigned;
  strSql:='';
  bsSkinStatusPanel1.Caption:=' 准备就绪';
end;

end;


end;

procedure TfrmReport.btnCloseClick(Sender: TObject);
begin
close;
end;

//导出报表
procedure TfrmReport.btnExportClick(Sender: TObject);
var
i,j,k:integer;
xxx1:string;
begin
bsSkinStatusPanel1.Caption:=' 正在载入Excel,请稍候......';
try
  //创建EXCEL对象
  VarExcel:=createoleObject('excel.application');
  if not varisempty(VarExcel) then
  begin
    VarExcel.workbooks.add;
    VarExcel.workbooks[1].worksheets[1].name:='综合查询报表';
  end;
except
  frmmain.bsmessage.MessageDlg('请确认是否安装了EXCEL?',mtWarning,[mbOK],0);
  exit;
end;
//写入列标题
range:=varexcel.workbooks[1].worksheets[1].columns;
for i:=0 to lvfind.Columns.Count-1 do
begin
  varexcel.workbooks[1].worksheets[1].cells[2,i+1].value:=lvfind.Columns.Items[i].Caption;
  varexcel.workbooks[1].worksheets[1].cells[2,i+1].font.bold:=true;
  range.columns[i+1].horizontalAlignment:=XlCenter;
end;
try
  //循环写入数据
  j:=3;
  for i:=0 to lvfind.Items.Count-1 do
  begin
    varexcel.workbooks[1].worksheets[1].cells[j,1].value:=lvfind.Items[i].Caption;
    varexcel.workbooks[1].worksheets[1].cells[j,2].value:=lvfind.Items[i].SubItems[0];
    varexcel.workbooks[1].worksheets[1].cells[j,3].value:=lvfind.Items[i].SubItems[1];
    varexcel.workbooks[1].worksheets[1].cells[j,4].value:=lvfind.Items[i].SubItems[2];
    varexcel.workbooks[1].worksheets[1].cells[j,5].value:=lvfind.Items[i].SubItems[3];
    varexcel.workbooks[1].worksheets[1].cells[j,6].value:=lvfind.Items[i].SubItems[4];
    varexcel.workbooks[1].worksheets[1].cells[j,7].value:=lvfind.Items[i].SubItems[5];
    varexcel.workbooks[1].worksheets[1].cells[j,8].value:=lvfind.Items[i].SubItems[6];
    inc(j);
    application.ProcessMessages;
  end;
  varexcel.workbooks[1].worksheets[1].cells[j+1,2].value:='制表: '+userInfoa.UserName;
  varexcel.workbooks[1].worksheets[1].cells[j+1,4].value:='日期: '+datetostr(date);
except
end;
k:=7+ord('A');
xxx1:=chr(k);
xxx1:='A2:'+xxx1+inttostr(j+1);
range:=varexcel.workbooks[1].worksheets[1].range[xxx1];
//将数据表格画线
range.borders.linestyle:=xlcontinuous;
k:=7+ord('A');
xxx1:=chr(k);
xxx1:='a1:'+xxx1+'1';
//将标题列居中
range:=varexcel.workbooks[1].worksheets[1].range[xxx1];
range.horizontalAlignment:=XlCenter;
range.VerticalAlignment:=XlCenter;
range.mergecells:=true;//合并标题烂
//报表标题
varexcel.workbooks[1].worksheets[1].range['a1:a1']:='综合查询报表';
varexcel.workbooks[1].worksheets[1].range['a1:a1'].font.name:='黑体';
varexcel.workbooks[1].worksheets[1].range['a1:a1'].font.size:='19';
varexcel.workbooks[1].worksheets[1].range['a1:a1'].font.fontstyle:='bold';
bsSkinStatusPanel1.Caption:=' 导出报表完成';
varexcel.visible:=true;
end;

end.

⌨️ 快捷键说明

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