用DELPHI如何将一个数据库导出为HTML,WORD,EXCEL文档。

解决方案 »

  1.   

    类似的例子太多了你可以搜索一下DELPHI EXCEL 导出也可以找一些电脑报电子版或其它一些电脑杂志多的是
      

  2.   

    使用ehlib控件,可以直接导出excel、html、txt、csv、rtf文件。
      

  3.   

    导入Excel中
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Grids, DBGrids, Db, DBTables, Excel97, OleServer;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        Edit1: TEdit;
        DataSource1: TDataSource;
        Query1: TQuery;
        DBGrid1: TDBGrid;
        ExcelWorksheet1: TExcelWorksheet;
        ExcelWorkbook1: TExcelWorkbook;
        ExcelApplication1: TExcelApplication;
        Label1: TLabel;
        procedure Button5Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button5Click(Sender: TObject);   
    begin
    Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Text :=Edit1.Text ;
     Query1.Open;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
    i,row,column:integer;
    begin
    Try
    ExcelApplication1.Connect;
    Except
    MessageDlg('Excel may not be installed',
    mtError, [mbOk], 0);
    Abort;
    End;
    ExcelApplication1.Visible[0]:=True;
    ExcelApplication1.Caption:='Excel Application';
    ExcelApplication1.Workbooks.Add(Null,0);
    ExcelWorkbook1.ConnectTo
    (ExcelApplication1.Workbooks[1]);
    ExcelWorksheet1.ConnectTo
    (ExcelWorkbook1.Worksheets[1] as _Worksheet);
    Query1.Open;
    row:=1;
    column:=1;
    for i:=0 to query1.FieldCount -1 do   //列标题
    begin
     ExcelWorksheet1.Cells.Item[row,column]:=dbgrid1.Fields[i].DisplayLabel ;
     column:=column+1;
    end;row:=row+1;
    While Not(Query1.Eof) do   //表内容
    begin
    column:=1;
    for i:=1 to Query1.FieldCount do
    begin
    ExcelWorksheet1.Cells.Item[row,column]:=Query1.fields[i-1].AsString;
    column:=column+1;     
    end;
    Query1.Next;
    row:=row+1;
    end;end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    ExcelWorksheet1.PrintPreview;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
    ExcelWorksheet1.PrintOut;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
    ExcelApplication1.Disconnect;
    ExcelApplication1.Quit;
    end;end.