您的位置:首页 > 编程语言 > Delphi

Delphi将表中数据导入EXCEL中来的代码

2007-05-10 17:28 411 查看
将表中数据导入EXCEL中来的代码如下:

unit main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ZAbstractRODataset, ZAbstractDataset, ZDataset, DB, DBClient,
Provider, GridsEh, DBGridEh, RzPanel, RzStatus, ExtCtrls, ZConnection,
BusinessSkinForm, StdCtrls, RzLabel, RzEdit, RzButton, DBCtrls, RzDBNav,
ImgList, Grids, DBGrids,ShellAPI, Mask, RzTray;

type
Tmainfrm = class(TForm)
BSFrmExcel: TbsBusinessSkinForm;
Connect: TZConnection;
pnlExcel: TRzPanel;
RzStatusBar1: TRzStatusBar;
RzToolbar1: TRzToolbar;
RzStatusPane1: TRzStatusPane;
RzClockStatus1: TRzClockStatus;
grbxShow: TRzGroupBox;
dbgExcel: TDBGridEh;
dscExcel: TDataSource;
DtStExcel: TDataSetProvider;
cdsExcel: TClientDataSet;
qryExcel: TZQuery;
mmSQL: TRzMemo;
lblSQL: TRzLabel;
RzSpacer1: TRzSpacer;
btnContron: TRzToolButton;
RzSpacer2: TRzSpacer;
btnExcelInt: TRzToolButton;
RzSpacer3: TRzSpacer;
btnExcelOut: TRzToolButton;
btnExit: TRzToolButton;
RzSpacer4: TRzSpacer;
NvgtrExcel: TRzDBNavigator;
ImgLstExcel: TImageList;
btnRfresh: TRzToolButton;
RzTrayIcon1: TRzTrayIcon;
procedure btnExitClick(Sender: TObject);
procedure btnExcelOutClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure mmSQLKeyPress(Sender: TObject; var Key: Char);
procedure btnRfreshClick(Sender: TObject);
procedure btnContronClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
mainfrm: Tmainfrm;

implementation

{$R *.dfm}

procedure Tmainfrm.btnExitClick(Sender: TObject);
begin
close;
end;

procedure Tmainfrm.btnExcelOutClick(Sender: TObject);
var
strTemp:string;
strSQL:string;
f:TextFile;
i,j:integer;
begin
strSQL:=mmSQL.Text;

with qryExcel do
begin
//======
Close;
SQL.Clear;
SQL.Add(strSQL);
Open;
cdsExcel.Active := false;
cdsExcel.Active := true;
//===
try
AssignFile(f,'ExcelTable/Excel.xls');
Rewrite(f);
//====
First;
strTemp := '';
//====
for i := 0 to Fields.Count - 1 do
begin
//====
if Fields[i].FieldName <> '' then
//====
if Fields[i].FieldName = 'ID' then
strTemp := strTemp + ''+#9 //====
else
strTemp := strTemp + Fields[i].FieldName + #9;
end;
Writeln(f,strTemp);
//====
for i := 0 to RecordCount - 1 do
begin
//====
strTemp := '';
for j := 0 to Fields.Count - 1 do
begin
//====
if Fields[j].FieldName <> '' then
strTemp := strTemp + fields[j].AsString + #9;
end;
//====
Writeln(f,strTemp);
//====
Next;
end;
finally
CloseFile(f);
end; //====End File Try
end;
//====
ShellExecute(0,nil,'ExcelTable/Excel.xls',nil,nil,0);
//====
//Application.Terminate;
end;

procedure Tmainfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Connect.Connected := false;
end;

procedure Tmainfrm.mmSQLKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
btnExcelOutClick(Sender);
end;

procedure Tmainfrm.btnRfreshClick(Sender: TObject);
begin
mmSQL.Text := '';
mmSQL.Text := 'select * from ';

end;

procedure Tmainfrm.btnContronClick(Sender: TObject);
begin
if cdsExcel.Active then
cdsExcel.Close
else
cdsExcel.Open;

end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: