以前写的 var SaveDialog2: TSaveDialog; hFile: TextFile; SFile,OFile: TFileStream; i: integer; begin SaveDialog2 := TSaveDialog.Create(Self); SaveDialog2.Filter:= 'Xls file(*.xls)|*.xls'; SaveDialog2.DefaultExt := '*.xls'; SaveDialog2.FilterIndex := 1; if SaveDialog2.Execute then if fileexists(SaveDialog2.FileName) then if MessageDlg('文件已存在,是否替换文件?',mtInformation,[mbYes, mbNo],0) = mrNo then exit; AssignFile(hFile,ExtractFilePath(Application.ExeName)+'tmprec.txt'); ReWrite(hFile); try ws:= ''; for i:= 0 to ADOQuery1.FieldCount-1 do ws:= ws+ADOQuery1.Fields[i].FieldName+','; Writeln(hFile,ws); ADOQuery1.First; while (not ADOQuery1.Eof) do begin ws:= ''; for i:= 0 to ADOQuery1.FieldCount-1 do ws:= ws+ADOQuery1.Fields[i].AsString+','; Writeln(hFile,ws); ADOQuery1.Next; end; CloseFile(hFile); SFile:= TFileStream.Create(ExtractFilePath(Application.ExeName)+'tmprec.txt',fmOpenRead); OFile:= TFileStream.Create(SaveDialog2.FileName,fmOpenWrite or fmCreate); OFile.CopyFrom(SFile,SFile.Size); OFile.Free; SFile.Free; except CloseFile(hFile); end;
var
SaveDialog2: TSaveDialog;
hFile: TextFile;
SFile,OFile: TFileStream;
i: integer;
begin
SaveDialog2 := TSaveDialog.Create(Self);
SaveDialog2.Filter:= 'Xls file(*.xls)|*.xls';
SaveDialog2.DefaultExt := '*.xls';
SaveDialog2.FilterIndex := 1;
if SaveDialog2.Execute then
if fileexists(SaveDialog2.FileName) then
if MessageDlg('文件已存在,是否替换文件?',mtInformation,[mbYes, mbNo],0) = mrNo then
exit;
AssignFile(hFile,ExtractFilePath(Application.ExeName)+'tmprec.txt');
ReWrite(hFile);
try
ws:= '';
for i:= 0 to ADOQuery1.FieldCount-1 do
ws:= ws+ADOQuery1.Fields[i].FieldName+',';
Writeln(hFile,ws);
ADOQuery1.First;
while (not ADOQuery1.Eof) do
begin
ws:= '';
for i:= 0 to ADOQuery1.FieldCount-1 do
ws:= ws+ADOQuery1.Fields[i].AsString+',';
Writeln(hFile,ws);
ADOQuery1.Next;
end;
CloseFile(hFile);
SFile:= TFileStream.Create(ExtractFilePath(Application.ExeName)+'tmprec.txt',fmOpenRead);
OFile:= TFileStream.Create(SaveDialog2.FileName,fmOpenWrite or fmCreate);
OFile.CopyFrom(SFile,SFile.Size);
OFile.Free;
SFile.Free;
except
CloseFile(hFile);
end;
ExportGrid4Toexcel(ExtractFilePath(Application.ExeName)+'SaveXLS\'+s+'.xls',cxGrid1,true,true,false);另外,你也可以找找F1book这个第三方控件,也可以导出数据集到xls,txt等格式