CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

急!!!TQUERY的数据怎样用execel打印出来?

楼主xywu(长江里的鱼)2002-08-02 16:37:17 在 Delphi / VCL组件开发及应用 提问

如何把   TQUERY查询的数据用execel打印出来,  
  我知道是用server下的Execel组件,但不知道具体是哪个空间,  
  能不能说详细点,最好给点代码。  
  感谢万分!!!  
   
  问题点数:100、回复次数:2Top

1 楼zfmich()回复于 2002-08-02 16:58:54 得分 100

function   ExportDellDataToExcel(AQry:   TADOQuery;   AExcelFile:   string)   :integer   ;  
  var  
      EclApp   :   Variant;  
  Begin  
      Result   :=   -1   ;  
      try  
          EclApp   :=   CreateOleObject('Excel.Application');  
      except  
          Exit;  
      end;  
   
      try  
          try  
              EclApp.WorkBooks.Add   ;  
              EclApp.ActiveWorkBook.Saved:=True;  
              EclApp.WorkSheets[1].Activate;  
              EclApp.Cells.Font.Name   :=   'Arial'   ;  
              EclApp.Cells.Font.Color   :=   clBlack   ;  
              EclApp.Cells.Font.Size   :=   9   ;  
              EclApp.Cells.Font.Bold   :=   false   ;  
              EclApp.Cells.Font.UnderLine   :=   false   ;  
              EclApp.Visible   :=   false   ;  
   
              DataSetToSheet(EclApp.Activesheet,   AQry)   ;  
   
              EclApp.ActiveWorkBook.SaveAs(AExcelFile);  
              Result   :=   1   ;  
          except  
              Result   :=   0   ;  
          end;  
      finally  
          EclApp.ActiveWorkBook.Saved:=True;  
          EclApp.ActiveWorkBook.Close;  
          eclApp.Quit;   {释放VARIANT变量}  
          eclApp:=Unassigned;  
      end;  
  end;  
   
   
  procedure   DataSetToSheet(ASheet   :Variant;   AQry   :TADOQuery)   ;  
  var  
      Row   :   Integer   ;  
      sStr   :string   ;  
  begin  
      ASheet.Rows.RowHeight   :=   15;  
      ASheet.Columns.ColumnWidth   :=   10   ;  
       
      ASheet.Rows[1].Font.Name   :=   'Arial';  
      ASheet.Rows[1].Font.Color   :=   clBlack;  
      ASheet.Rows[1].Font.Size   :=   9   ;  
      ASheet.Rows[1].Font.Bold   :=   True;  
      ASheet.Rows[1].Font.UnderLine   :=   false;  
   
      ASheet.Range['A1:Z1'].Columns.Interior.Color   :=   clYellow;  
   
      ASheet.Cells(1,   1)   :=   'Item'   ;  
      ASheet.Cells(1,   2)   :=   'Channel'   ;  
   
      Row   :=   2   ;  
      with   AQry   do  
      begin  
          First   ;  
          while   not   Eof   do  
          begin  
              Application.ProcessMessages   ;  
               
              ASheet.Cells(Row,   1)   :=   FieldByName('Item').asstring   ;  
              ASheet.Cells(Row,   2)   :=   FieldByName('Channel').asstring   ;  
              Next   ;  
              Inc(Row)   ;  
          end   ;  
      end;  
      sStr   :=   'A1:Z'   +   IntToStr(Row   -   1)   ;  
      ASheet.Range[sStr].Borders.Color   :=   clBlack   ;  
   
      sStr   :=   'A2:A'   +   IntToStr(Row   -   1)   ;  
      ASheet.Range[sStr].Columns.Interior.Color   :=   clOlive;  
      sStr   :=   'B2:B'   +   IntToStr(Row   -   1)   ;  
      ASheet.Range[sStr].Columns.Interior.Color   :=   clOlive;  
      sStr   :=   'C2:C'   +   IntToStr(Row   -   1)   ;  
      ASheet.Range[sStr].Columns.Interior.Color   :=   clOlive;  
      sStr   :=   'D2:D'   +   IntToStr(Row   -   1)   ;  
      ASheet.Range[sStr].Columns.Interior.Color   :=   clAqua;   //   $0095E916   ;   //  
  end   ;  
   
  你可以参考一下,不过好象速度不是很理想。。  
  如果有改进意见,麻烦告诉我。Top

2 楼zfmich()回复于 2002-08-02 16:59:29 得分 0

忘了告诉你,上面的代码没有用控件。Top

相关问题

  • 急:求asp.net中把表格或datagrid中的数据倒入execel打印的源代码
  • 数据打印问题
  • 数据库打印问题
  • 数据窗口打印?
  • 数据窗口的打印.....
  • 打印 数据窗口
  • 既要期末考试了,急!!!求助:怎么把dataview里面的数据输出到word或者execel用来打印
  • 请教:打印数据库中的表
  • printer打印数据如何右对齐?
  • 数据窗口打印问题

关键词

  • eclapp
  • asheet
  • execel
  • aqry
  • sstr
  • activeworkbook
  • clblack
  • row
  • cells
  • font

得分解答快速导航

  • 帖主:xywu
  • zfmich

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo