你用ORACLE导出数据会吗?
如果用程序的话,下面让你参考:
procedure TfrmDumpOut.btnOkClick(Sender: TObject);
var
Eid: String;
MyStr: TStringList;
sSQL: String;
begin
if Trim(cbEid.Text)='' then exit;
Eid:=Copy(cbEid.Text,1,Pos(' ',cbEid.Text)-1);
MyStr:=TStringList.Create;
Screen.Cursor:=crHourGlass;
try
//预算单位
MyStr.Add('[ysdw]');
sSQL:='select eid,name,totalname,class,isleaf,code,did from enterprise where [year]='+IntToStr(gYear)+' and eid like '''+Eid+'%''';
FQuery.Close;
FQuery.SQL.Text:=sSQL;
FQuery.Open;
FQuery.First;
while not FQuery.Eof do
begin
MyStr.Add(FQuery.FieldByName('eid').AsString+'|'+FQuery.FieldByName('name').AsString+'|'+FQuery.FieldByName('totalname').AsString
+'|'+FQuery.FieldByName('class').AsString+'|'+FQuery.FieldByName('isleaf').AsString+'|'+FQuery.FieldByName('code').AsString+'|'+FQuery.FieldByName('did').AsString+'|');
FQuery.Next;
end;
。
。
。
。
sd.FileName:=Eid+' '+GetEnterprise(Eid);
if sd.Execute then
begin
MyStr.SaveToFile(GetSysFileName);
Encrypt(sd.FileName+'.f07');
DeleteFile(GetSysFileName);
end;
finally
MyStr.Free;
end;
Screen.Cursor:=crDefault;
Application.MessageBox('导出数据完成!','提示',MB_OK+MB_ICONINFORMATION);
end;
procedure TForm1.DbgridToTxt(source: Tobject);
var
FileName: TextFile;
DataSet: TDataSet;
titlestr,valuestr,tempstr:string;
counter:integer;
begin
if (source is TDBGrid) then
DataSet := TDBGrid(source).DataSource.DataSet
else
DataSet := TDataSet(source);
if ((DataSet.IsEmpty) or (not DataSet.Active)) then
Exit
else
begin
DataSet.DisableControls;
DataSet.First;
if SaveDialog1.Execute then
begin
AssignFile(FileName,SaveDialog1.FileName);
Rewrite(FileName);
titlestr := '';
for counter := 0 to DataSet.FieldCount - 1 do
begin
titlestr := titlestr + ' ' + FormatStr(DataSet.Fields[counter].DisplayLabel, DataSet.Fields[counter].DataSize);
end;
titlestr := Trim(titlestr);
Writeln(filename,titlestr);
while not DataSet.Eof do
begin
valuestr := '';
for counter := 0 to DataSet.FieldCount - 1 do
begin
tempstr := DataSet.Fields[counter].Text;
tempstr := FormatStr(tempstr, DataSet.Fields[counter].DataSize);
valuestr := valuestr + ' ' + tempstr;
end;
valuestr := Trim(valuestr);
Writeln(filename,valuestr);
DataSet.Next;
end;
CloseFile(FileName);
end;
DataSet.EnableControls;
ShowMessage('保存成功');
end;
end;