打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
dbgrideh通用打印

dbgrideh通用打印

时间:2011-5-24来源:yang 作者: peng点击: 59次

procedure TForm1.Button3Click(Sender: TObject);
var
   ExcelApplication1:TExcelApplication;
   ExcelWorksheet1:TExcelWorksheet;
   ExcelWorkbook1:TExcelWorkbook;
   i,j:integer;
 begin
   try
    ExcelApplication1:=TExcelApplication.Create(Application);
    ExcelWorksheet1:=TExcelWorksheet.Create(Application);  
    ExcelWorkbook1:=TExcelWorkbook.Create(Application);
    ExcelApplication1.Connect;
    ExcelApplication1.Visible[0]:=True;
   except
    Application.Messagebox(‘Excel没有安装!‘,‘Hello‘,MB_ICONERROR+mb_Ok);
    Abort;
   end;
   try
    ExcelApplication1.Workbooks.Add(EmptyParam,0);
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
    ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1]as _worksheet);
    DBGridEh1.DataSource.DataSet.First;
    for j:=0 to DBGridEh1.DataSource.DataSet.Fields.Count-2 do
     begin
      ExcelWorksheet1.Cells.item[3,j+1]:=DBGridEh1.Columns[j].Title.Caption;//导出DBGridEh1中显示的字段标题
      //ExcelWorksheet1.Cells.item[3,j+1]:=DBGridEh1.DataSource.DataSet.Fields[j].DisplayLabel;//导出数据库中字段名
      ExcelWorksheet1.Cells.item[3,j+1].font.size:=‘10‘;
     end;
       for i:=4 to DBGridEh1.DataSource.DataSet.RecordCount + 3 do  //从excel的第4行到最后
        begin
         for j:= 1 to DBGridEh1.DataSource.DataSet.Fields.Count - 1 do  //从DBGridEh1的第1列到最后
          begin
           //ExcelWorksheet1.Cells.item[i,j+1]:=DBGridEh1.DataSource.DataSet.Fields[j].Asstring;
           //ExcelWorksheet1.Cells.item[i,j+1].font.size:=‘10‘;
****************************************
           ExcelWorksheet1.Range[ExcelWorksheet1.Cells.item[1,2], ExcelWorksheet1.Cells.item[i,2]].NumberFormatLocal:=‘@‘;//第二列设为文本格式
****************************************
           ExcelWorksheet1.Cells.item[i,j]:=DBGridEh1.DataSource.DataSet.Fields[j].Asstring;
           ExcelWorksheet1.Cells.item[i,j].font.size:=‘10‘;
          end;  
          DBGridEh1.DataSource.DataSet.Next;
         end;
          ExcelWorksheet1.Columns.AutoFit;  
          ExcelWorksheet1.Cells.item[1,2]:=‘预测表‘+Formatdatetime(‘YYYYmmdd‘,Now);//DBGridEh1.Columns[0].FieldName; //在excel中第一行显示标题    
          ExcelWorksheet1.Cells.Item[1,2].font.size:=‘14‘;
    finally
    ExcelWorkSheet1.Disconnect;
    ExcelWorkBook1.Disconnect;
    ExcelApplication1.Disconnect;
  end;
end;
*******************************************************************
dbgrideh通用打印

unit uPrint;

interface

uses
  DBGridEh,PrnDbgeh,SysUtils,Graphics,Forms,Printers,windows;

procedure Prnt(AGrid:TDBGridEh;AOwner:Tform;APageHeader:string=‘‘;
  ALineType:TPageColontitleLineType=pcltnon);

implementation

//==============================================================================
// linetype取值{pcltDoubleLine;pcltsingleline;pcltnon}
// AOwner:TForm TPrintDBGridEh.Create(AOwner); 负责TPrintDBGridEh类对象FREE
// TPrinterOrientation = (poPortrait, poLandscape); 纸张竖、横
//==============================================================================

procedure Prnt(AGrid:TDBGridEh;AOwner:TForm;APageHeader:string=‘‘;
  ALineType:TPageColontitleLineType=pcltnon);
var
  prn:TPrintDBGridEh;
begin
  if AGrid.DataSource.DataSet.IsEmpty then exit;
  prn:=TPrintDBGridEh.Create(AOwner);
  with prn.PageHeader do
  begin
    Font.Name:=‘宋体‘;
    Font.Size:=12;
    Font.Style:=[fsbold];
    LineType:=ALineType;
    CenterText.Text:=APageHeader;
  end;
  prn.DBGridEh:=AGrid;
  prn.Preview;
end;

end.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DELPHI如何将数据导出到指定格式的EXCEL模版
C# 读写Excel 帮助类
Excel文件导入StringGrid
delphi 直接从ADO导出EXCEL
Java中使用JCOM操作Office对象
C#(com组件)操作Excel读写
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服