DBGrid中的操作时这样的,我想dxDBGrid中也是可以的吧 ------------------------------------------------------- {///.功能:数据结果导出到Txt文件} procedure DataToTxt(FileName,pCaption:string;var pTitle:TstringList;pDBGrid:TDBGrid); var MyFile: TextFile; FileCaption:String; FileTitle:TStringList; DBGrid1:TDBGrid; i,j: integer; begin FileCaption:=pcaption; FileTitle:=pTitle; DBGrid1:=pDBGrid; if ExtractFileExt(uppercase(Filename))<> '.TXT' then Filename := ChangeFileExt(Filename, '.TXT'); AssignFile(MyFile, Filename); Rewrite(MyFile); try //表头内容 writeln(MyFile,FileCaption); if FileTitle.Count>0 then for i:=0 to FileTitle.Count-1 do begin writeLn(MyFile,FileTitle.Strings[i]); end else i:=1; //获取字段名 j:=i+2; for i:=0 to DBGrid1.Columns.Count-1 do begin Write(MyFile,DBGrid1.Columns[i].Title.Caption); ///作为字段分隔符 Write(MyFile,'|'); j:=j; end; Writeln(MyFile); //表体内容 j:=j+1; DBGrid1.DataSource.DataSet.DisableControls; DBGrid1.DataSource.DataSet.First; while not DBGrid1.DataSource.DataSet.Eof do begin For i:=0 to DBGrid1.Columns.Count-1 do begin Write(MyFile,DBGrid1.DataSource.DataSet.FieldByName(DBGrid1.Columns[i].FieldName).AsString); ///作为字段分隔符 Write(MyFile,'|'); end; WriteLn(Myfile); DBGrid1.DataSource.DataSet.Next; j:=j+1; end; DBGrid1.DataSource.DataSet.EnableControls; CloseFile(MyFile); Application.MessageBox('数据导出完毕','商务管理系统',MB_ICONQUESTION+MB_OK); except //// end; end;
http://dev.csdn.net/article/51/article/51/51836.shtm
http://dev.csdn.net/article/51/article/51/article/51/51839.shtm
http://dev.csdn.net/article/51/article/51/article/51/article/51/51841.shtm
http://dev.csdn.net/article/51/article/51/article/51/article/51/article/51/51845.shtm
:)谢谢。再等等看
安装DevExpress Grid控件,即将此Grid连到数据上,将数据select出来后在dxDBGrid中显示,然后再通过它的导出功能来另存为Excel,Html,Text,XMl
比如:dxDBGrid1.SaveToXLS(FileName)就可将数据导出为EXCEL文件。呵呵
-------------------------------------------------------
{///.功能:数据结果导出到Txt文件}
procedure DataToTxt(FileName,pCaption:string;var pTitle:TstringList;pDBGrid:TDBGrid);
var
MyFile: TextFile;
FileCaption:String;
FileTitle:TStringList;
DBGrid1:TDBGrid;
i,j: integer;
begin
FileCaption:=pcaption;
FileTitle:=pTitle;
DBGrid1:=pDBGrid;
if ExtractFileExt(uppercase(Filename))<> '.TXT' then
Filename := ChangeFileExt(Filename, '.TXT');
AssignFile(MyFile, Filename);
Rewrite(MyFile);
try
//表头内容
writeln(MyFile,FileCaption);
if FileTitle.Count>0 then
for i:=0 to FileTitle.Count-1 do
begin
writeLn(MyFile,FileTitle.Strings[i]);
end
else
i:=1;
//获取字段名
j:=i+2;
for i:=0 to DBGrid1.Columns.Count-1 do
begin
Write(MyFile,DBGrid1.Columns[i].Title.Caption);
///作为字段分隔符
Write(MyFile,'|');
j:=j;
end;
Writeln(MyFile);
//表体内容
j:=j+1;
DBGrid1.DataSource.DataSet.DisableControls;
DBGrid1.DataSource.DataSet.First;
while not DBGrid1.DataSource.DataSet.Eof do
begin
For i:=0 to DBGrid1.Columns.Count-1 do
begin
Write(MyFile,DBGrid1.DataSource.DataSet.FieldByName(DBGrid1.Columns[i].FieldName).AsString);
///作为字段分隔符
Write(MyFile,'|');
end;
WriteLn(Myfile);
DBGrid1.DataSource.DataSet.Next;
j:=j+1;
end;
DBGrid1.DataSource.DataSet.EnableControls;
CloseFile(MyFile);
Application.MessageBox('数据导出完毕','商务管理系统',MB_ICONQUESTION+MB_OK);
except
////
end;
end;