zoukankan      html  css  js  c++  java
  • 把数据库表里的信息 导入Execl表 程序截图

    uses

       Excel2000,  Math, OleServer

    添加 ToolBar1, Gauge1,ImageList1,ExcelWorkbook1,ExcelWorksheet1,ADOConnection1,ADOQuery1,DataSource1 ,Memo1,DBGrid1,StatusBar1

     

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComCtrls, ImgList, ToolWin, DB, Grids, DBGrids, ADODB, StdCtrls,
      Gauges, Excel2000,  Math, OleServer;
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        DBGrid1: TDBGrid;
        DataSource1: TDataSource;
        ToolBar1: TToolBar;
        ImageList1: TImageList;
        ToolButton1: TToolButton;
        ToolButton2: TToolButton;
        ToolButton3: TToolButton;
        ToolButton4: TToolButton;
        ToolButton5: TToolButton;
        ToolButton6: TToolButton;
        ToolButton7: TToolButton;
        Gauge1: TGauge;
        ExcelWorksheet1: TExcelWorksheet;
        StatusBar1: TStatusBar;
        ExcelWorkbook1: TExcelWorkbook;
        procedure ToolButton5Click(Sender: TObject);
        procedure ToolButton7Click(Sender: TObject);
        //procedure ExcelApplication1NewWorkbook(Sender: TObject;
         // var Wb: OleVariant);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.ToolButton5Click(Sender: TObject);
    var
      SQLStr : String;
    begin   //根据Memo1中的SQL语句提取数据库的信息显示在DBgrid
      SQLStr := '';
      SQLStr :=Memo1.Lines.GetText;
    
      ADOQuery1.Close;
      ADOQuery1.Sql.Clear;
      ADOQuery1.SqL.Add(SQLStr);
      ADOQuery1.Open;
      end;
    
    procedure TForm1.ToolButton7Click(Sender: TObject);
    var
     ExcelApp1:TExcelApplication;  //uses Excel2000
        Row,i:Integer;
        AFileName : string;
    begin
      AFileName := 'D:\a.xlsx';
      ExcelApp1:=TExcelApplication.Create(nil);
      try
        ExcelApp1.Connect;//和Execl连接如果没有Excel程序可能要出错
        ExcelApp1.Workbooks.Add(Null,0);//为Excel添加工作薄
        ExcelWorkbook1.ConnectTo(ExcelApp1.Workbooks[1]);
        ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet);
    
        if DBGrid1.DataSource.DataSet.RecordCount=0 then Exit;
        row:=2;
        for i:=1 to ADOQuery1.Fields.Count do
        begin
          ExcelWorkSheet1.Cells.Item[1,i]:=ADOQuery1.Fields[i-1].FieldName ;
        end;
        ADOQuery1.First;
        while not ADOQuery1.Eof do
        begin
          Application.ProcessMessages;
          for i:=1 to ADOQuery1.Fields.Count do
          begin //把查询结果写入到电子表格中
            excelworksheet1.Cells.Item[row,i].numberformatlocal:='@';
            ExcelWorkSheet1.Cells.Item[row,i]:=ADOQuery1.Fields[i-1].Value;
          end;
          row:=row+1;
          Gauge1.Progress:=Ceil(100*(row-2)/(ADOQuery1.RecordCount));
          if Gauge1.Progress=100 then StatusBar1.Panels[1].Text:='导出完成,已保存至'+AFileName;          //AFileName是导出文件存放的目录位置。
          ADOQuery1.Next;
        end;
      finally
        ExcelWorkBook1.SaveCopyAs(AFileName);
        ExcelWorkSheet1.Disconnect;
        ExcelWorkBook1.Close(False);
        ExcelApp1.Disconnect;
        ExcelApp1.Quit;
        ExcelApp1.Free;
        Gauge1.Visible:=False;
      end;
    end;
    
    
    
    
    end.
    
  • 相关阅读:
    分享ASP.NET+jQuery MiniUI后台购物管理
    ASP.NET发送电子邮件
    LINQ学习(三):Where子句
    ASP.NET配置KindEditor文本编辑器
    一步步写自己SqlHelper类库(五):Command对象
    ASP.NET生成静态页面的简单实现
    兼职开发悟出的点点滴滴
    设计模式学习笔记
    if else替代者
    ASP.NET 一生命周期中的额事件
  • 原文地址:https://www.cnblogs.com/beeone/p/1797490.html
Copyright © 2011-2022 走看看