procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin TxtConnection.Close; DBFConnection.Close; AccessConnection.Close; ExcelConnection.Close; end;procedure TForm1.AccessConnectionExecuteComplete(Connection: TADOConnection; RecordsAffected: Integer; const Error: Error; var EventStatus: TEventStatus; const Command: _Command; const Recordset: _Recordset); begin //记时1 iT2 := GetTickCount; StatusBar.Panels[1].Text := FormatFloat('#,##', iT2 - iT1) + '毫秒'; StatusBar.Panels[2].Text := '共导记录:' + IntToStr(RecordsAffected) + '条'; end;procedure TForm1.AccessConnectionWillExecute(Connection: TADOConnection; var CommandText: WideString; var CursorType: TCursorType; var LockType: TADOLockType; var CommandType: TCommandType; var ExecuteOptions: TExecuteOptions; var EventStatus: TEventStatus; const Command: _Command; const Recordset: _Recordset); begin iT1 := GetTickCount; end;//================================================================= //Access //Access->TXT procedure TForm1.Button1Click(Sender: TObject); begin sSql := 'select * into [Text;Database=f:\].aaa.txt from demo'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//Access->DBF procedure TForm1.Button3Click(Sender: TObject); begin sSql := 'select * into aaa in ''f:\'' ''dbase 5.0;'' from demo'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//Access->Excel //注意:前一个aaa为Excel文件中的aaa页,后一个aaa为Access文件demo.mdb中的一个表名 procedure TForm1.Button9Click(Sender: TObject); begin sSql := 'select * into aaa from aaa in ''E:\Delphilx\ADOSQL\PH\demo.mdb'''; with ExcelConnection do begin Connected := True; Execute(sSql); end; end;//Access->Access procedure TForm1.Button4Click(Sender: TObject); begin sSql := 'select * into aaa from demo in ''E:\Delphilx\ADOSQL\PH\demo.mdb'''; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//TXT->Access procedure TForm1.Button2Click(Sender: TObject); begin sSql := 'select * into uform from [Text;Database=f:\].form.txt'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//DBF->Access procedure TForm1.Button5Click(Sender: TObject); begin sSql := 'select * into aaa from aaa in ''f:\'' ''dbase 5.0;'''; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//Excel->Access //[aaa$]->Excel文件aaa.xls中的aaa页 procedure TForm1.Button10Click(Sender: TObject); begin sSql := 'select * into bbb from [excel 8.0;database=f:\aaa.xls].[aaa$]'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//================================================================= //Oracle //Oracle->Access procedure TForm1.Button6Click(Sender: TObject); begin sSql := 'select * into ouform from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//Oracle->TXT procedure TForm1.Button7Click(Sender: TObject); begin sSql := 'select VGH,VXM,VMM into lsygb.txt from (select * from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;SERVER=BKLS;])'; // sSql := // 'select * into form.txt from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]'; with TxtConnection do begin Close; Connected := True; Execute(sSql); end; end;//Oracle->Excel procedure TForm1.Button8Click(Sender: TObject); begin sSql := 'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]'; with ExcelConnection do begin Connected := True; Execute(sSql); end; end;//Oracle->DBF procedure TForm1.Button11Click(Sender: TObject); begin sSql := 'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]'; with DBFConnection do begin Connected := True; Execute(sSql); end; end;//TXT->Oracle //Oracle数据库注意要将表名大写!不然创建出来的表可以看到表名但无法打开 procedure TForm1.Button12Click(Sender: TObject); begin sSql := 'select * into PH_TXT in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from ph_txt.txt'; with TxtConnection do begin Close; Connected := True; Execute(sSql); end; end;//DBF->Oracle procedure TForm1.Button13Click(Sender: TObject); begin sSql := 'select * into PH_DBF in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa'; with DBFConnection do begin Connected := True; Execute(sSql); end; end;//Access->Oracle procedure TForm1.Button14Click(Sender: TObject); begin sSql := 'select * into PH_ACCESS in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa'; with AccessConnection do begin Connected := True; Execute(sSql); end; end;//Excel->Oracle procedure TForm1.Button15Click(Sender: TObject); begin // 'select * into MLB in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;Server=BKLS;] from MLB' //Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\aaa.xls;Extended Properties=Excel 8.0;Persist Security Info=False sSql := 'select * into PH_EXCEL in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa'; with ExcelConnection do begin Connected := True; Execute(sSql); end; end;procedure TForm1.Button16Click(Sender: TObject); begin sSql := 'select * into qxb in ''f:\'' ''dbase 5.0;'' from lsqxb.txt'; with TXTConnection do begin // Close; // ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=f:\temp;Extended Properties="text;HDR=YES;FMT=Delimited";Persist Security Info=True'; Connected := True; Execute(sSql); end; end;end.csdn 搜的,这样的问题答案一大堆
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB,ComObj, OleServer, Excel2000;type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid2: TDBGrid; SaveDialog1: TSaveDialog; Button1: TButton; Button2: TButton; ExcelApplication1: TExcelApplication; Button3: TButton; Edit1: TEdit; OpenDialog1: TOpenDialog; ExcelWorkbook1: TExcelWorkbook; ExcelWorksheet1: TExcelWorksheet; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var xlsApp,WorkBook :Variant; field_no,record_no,i,j :Integer; filename :String; begin field_no:=DBGrid2.Columns.Count; try xlsApp:=CreateOleObject('Excel.Application'); xlsApp.Visible:=true; xlsApp.Caption:='分级报表'; WorkBook:=CreateOleObject('Excel.Sheet'); except Showmessage('您的机器未安装Microsoft Excel'); exit; end; try WorkBook:=xlsApp.WorkBooks.Add; xlsApp.Cells(1,3):='通信业务量月报'; for i:=1 to field_no do begin xlsApp.Cells(2,i):=DBGrid2.Columns[i-1].Title.Caption; end; DBGrid2.DataSource.DataSet.First; record_no:=DBGrid2.DataSource.DataSet.RecordCount; for i:=1 to record_no do begin for j:=1 to field_no do begin xlsApp.Cells(i+2,j):=DBGrid2.Fields[j-1].text; end; DBGrid2.DataSource.DataSet.Next; end; except Showmessage('无法操作Excel,可能该程序已被占用'); end; xlsApp.visible:=false; try SaveDialog1.Execute; filename:=SaveDialog1.FileName; WorkBook.saveas(filename); except Showmessage('无法操作Excel,可能该程序已被占用'); end; WorkBook.Close; xlsApp.Quit;end;procedure TForm1.Button2Click(Sender: TObject); var xlsApp: variant; filename : string; begin xlsApp := createoleobject('Excel.Application'); xlsApp.visible := true; xlsApp.Caption:='分级报表'; xlsApp.WorkBooks.Add; xlsApp.Cells(1,3):='通信业务量月报'; xlsApp.Cells(2,1):='aa'; xlsApp.visible:=false; SaveDialog1.Execute; filename:=SaveDialog1.FileName; xlsApp.visible := true; xlsapp.save(filename); xlsApp.visible := false; xlsApp.Quit; end;procedure TForm1.Button3Click(Sender: TObject); var xlsApp: variant; filename : string; begin xlsApp := createoleobject('Excel.Application'); OpenDialog1.Execute; filename := OpenDialog1.FileName; xlsApp.WorkBooks.Open(filename); // xlsApp.visible := true; edit1.text:= xlsApp.cells[2,1]; xlsApp.WorkBooks.Close; xlsApp.quit;end;end.
begin
TxtConnection.Close;
DBFConnection.Close;
AccessConnection.Close;
ExcelConnection.Close;
end;procedure TForm1.AccessConnectionExecuteComplete(Connection: TADOConnection;
RecordsAffected: Integer; const Error: Error;
var EventStatus: TEventStatus; const Command: _Command;
const Recordset: _Recordset);
begin
//记时1
iT2 := GetTickCount;
StatusBar.Panels[1].Text := FormatFloat('#,##', iT2 - iT1) + '毫秒';
StatusBar.Panels[2].Text := '共导记录:' + IntToStr(RecordsAffected) + '条';
end;procedure TForm1.AccessConnectionWillExecute(Connection: TADOConnection;
var CommandText: WideString; var CursorType: TCursorType;
var LockType: TADOLockType; var CommandType: TCommandType;
var ExecuteOptions: TExecuteOptions; var EventStatus: TEventStatus;
const Command: _Command; const Recordset: _Recordset);
begin
iT1 := GetTickCount;
end;//=================================================================
//Access
//Access->TXT
procedure TForm1.Button1Click(Sender: TObject);
begin
sSql := 'select * into [Text;Database=f:\].aaa.txt from demo';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Access->DBF
procedure TForm1.Button3Click(Sender: TObject);
begin
sSql := 'select * into aaa in ''f:\'' ''dbase 5.0;'' from demo';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Access->Excel
//注意:前一个aaa为Excel文件中的aaa页,后一个aaa为Access文件demo.mdb中的一个表名
procedure TForm1.Button9Click(Sender: TObject);
begin
sSql :=
'select * into aaa from aaa in ''E:\Delphilx\ADOSQL\PH\demo.mdb''';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Access->Access
procedure TForm1.Button4Click(Sender: TObject);
begin
sSql := 'select * into aaa from demo in ''E:\Delphilx\ADOSQL\PH\demo.mdb''';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//TXT->Access
procedure TForm1.Button2Click(Sender: TObject);
begin
sSql := 'select * into uform from [Text;Database=f:\].form.txt';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//DBF->Access
procedure TForm1.Button5Click(Sender: TObject);
begin
sSql := 'select * into aaa from aaa in ''f:\'' ''dbase 5.0;''';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Excel->Access
//[aaa$]->Excel文件aaa.xls中的aaa页
procedure TForm1.Button10Click(Sender: TObject);
begin
sSql :=
'select * into bbb from [excel 8.0;database=f:\aaa.xls].[aaa$]';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//=================================================================
//Oracle
//Oracle->Access
procedure TForm1.Button6Click(Sender: TObject);
begin
sSql :=
'select * into ouform from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Oracle->TXT
procedure TForm1.Button7Click(Sender: TObject);
begin
sSql := 'select VGH,VXM,VMM into lsygb.txt from (select * from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;SERVER=BKLS;])';
// sSql :=
// 'select * into form.txt from ouform in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bklskf;PWD=bklskf;SERVER=bkls;]';
with TxtConnection do
begin
Close;
Connected := True;
Execute(sSql);
end;
end;//Oracle->Excel
procedure TForm1.Button8Click(Sender: TObject);
begin
sSql :=
'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Oracle->DBF
procedure TForm1.Button11Click(Sender: TObject);
begin
sSql :=
'select * into aaa from lsygb in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;]';
with DBFConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//TXT->Oracle
//Oracle数据库注意要将表名大写!不然创建出来的表可以看到表名但无法打开
procedure TForm1.Button12Click(Sender: TObject);
begin
sSql := 'select * into PH_TXT in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from ph_txt.txt';
with TxtConnection do
begin
Close;
Connected := True;
Execute(sSql);
end;
end;//DBF->Oracle
procedure TForm1.Button13Click(Sender: TObject);
begin
sSql :=
'select * into PH_DBF in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with DBFConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Access->Oracle
procedure TForm1.Button14Click(Sender: TObject);
begin
sSql :=
'select * into PH_ACCESS in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with AccessConnection do
begin
Connected := True;
Execute(sSql);
end;
end;//Excel->Oracle
procedure TForm1.Button15Click(Sender: TObject);
begin
// 'select * into MLB in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=BKLS;PWD=BKLS;Server=BKLS;] from MLB'
//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\aaa.xls;Extended Properties=Excel 8.0;Persist Security Info=False
sSql :=
'select * into PH_EXCEL in [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=bkls;PWD=bkls;SERVER=bkls;] from aaa';
with ExcelConnection do
begin
Connected := True;
Execute(sSql);
end;
end;procedure TForm1.Button16Click(Sender: TObject);
begin
sSql := 'select * into qxb in ''f:\'' ''dbase 5.0;'' from lsqxb.txt';
with TXTConnection do
begin
// Close;
// ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=f:\temp;Extended Properties="text;HDR=YES;FMT=Delimited";Persist Security Info=True';
Connected := True;
Execute(sSql);
end;
end;end.csdn 搜的,这样的问题答案一大堆
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB,ComObj, OleServer, Excel2000;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid2: TDBGrid;
SaveDialog1: TSaveDialog;
Button1: TButton;
Button2: TButton;
ExcelApplication1: TExcelApplication;
Button3: TButton;
Edit1: TEdit;
OpenDialog1: TOpenDialog;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var xlsApp,WorkBook :Variant;
field_no,record_no,i,j :Integer;
filename :String;
begin
field_no:=DBGrid2.Columns.Count;
try
xlsApp:=CreateOleObject('Excel.Application');
xlsApp.Visible:=true;
xlsApp.Caption:='分级报表';
WorkBook:=CreateOleObject('Excel.Sheet');
except
Showmessage('您的机器未安装Microsoft Excel');
exit;
end; try
WorkBook:=xlsApp.WorkBooks.Add;
xlsApp.Cells(1,3):='通信业务量月报';
for i:=1 to field_no do
begin
xlsApp.Cells(2,i):=DBGrid2.Columns[i-1].Title.Caption;
end;
DBGrid2.DataSource.DataSet.First;
record_no:=DBGrid2.DataSource.DataSet.RecordCount;
for i:=1 to record_no do
begin
for j:=1 to field_no do
begin
xlsApp.Cells(i+2,j):=DBGrid2.Fields[j-1].text;
end;
DBGrid2.DataSource.DataSet.Next;
end;
except
Showmessage('无法操作Excel,可能该程序已被占用');
end; xlsApp.visible:=false;
try
SaveDialog1.Execute;
filename:=SaveDialog1.FileName;
WorkBook.saveas(filename);
except
Showmessage('无法操作Excel,可能该程序已被占用');
end;
WorkBook.Close;
xlsApp.Quit;end;procedure TForm1.Button2Click(Sender: TObject);
var
xlsApp: variant;
filename : string;
begin
xlsApp := createoleobject('Excel.Application');
xlsApp.visible := true;
xlsApp.Caption:='分级报表'; xlsApp.WorkBooks.Add;
xlsApp.Cells(1,3):='通信业务量月报';
xlsApp.Cells(2,1):='aa';
xlsApp.visible:=false;
SaveDialog1.Execute;
filename:=SaveDialog1.FileName;
xlsApp.visible := true;
xlsapp.save(filename);
xlsApp.visible := false;
xlsApp.Quit;
end;procedure TForm1.Button3Click(Sender: TObject);
var
xlsApp: variant;
filename : string;
begin
xlsApp := createoleobject('Excel.Application');
OpenDialog1.Execute;
filename := OpenDialog1.FileName;
xlsApp.WorkBooks.Open(filename);
// xlsApp.visible := true;
edit1.text:= xlsApp.cells[2,1];
xlsApp.WorkBooks.Close;
xlsApp.quit;end;end.