谢谢楼上的,能不能再说的具体点,一张表里的我会,但是从不同的表里去数据,不会,用不用先往表里写,然后再导出? 这是一张表的,怎么修改?谢谢! unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;type TForm1 = class(TForm) Button1: TButton; DataSource1: TDataSource; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Table1: TTable; SaveDialog1: TSaveDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); function DelStr(subStr, AStr: String): String; var i, iLen: integer; begin Result :=AStr; i :=Pos(subStr, Result); iLen :=Length(subStr); while i >0 do begin Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt); i :=Pos(subStr, Result); end; end; var AList: TStringList; i: integer; Afile,AStr, AText: String; begin SaveDialog1.Execute; Afile:=SaveDialog1.FileName; AList :=TStringList.Create; with DBGrid1.DataSource.DataSet, AList do try DisableControls; if not Active then Exit; AStr :=''; for I :=0 to DBGrid1.Columns.Count -1 do AStr :=AStr + DBGrid1.Columns[i].Title.Caption+','; Add(AStr); First; while not Eof do begin AStr :=''; for i :=0 to DBGrid1.Columns.Count-1 do begin AText :=DBGrid1.Columns[i].Field.DisplayText; AText :=DelStr(',', AText); AStr :=AStr +AText +','; end; Add(AStr); Next; end; AList.SaveToFile(AFile); finally EnableControls; AList.free; end;end;end.
procedure TForm1.Button1Click(Sender: TObject); function DelStr(subStr, AStr: String): String; var i, iLen: integer; begin Result :=AStr; i :=Pos(subStr, Result); iLen :=Length(subStr); while i >0 do begin Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt); i :=Pos(subStr, Result); end; end; var AList: TStringList; i: integer; Afile,AStr, AText: String; begin SaveDialog1.Execute; Afile:=SaveDialog1.FileName; AList :=TStringList.Create; with DBGrid1.DataSource.DataSet, AList do try DisableControls; if not Active then Exit; AStr :=''; for I :=0 to DBGrid1.Columns.Count -1 do AStr :=AStr + DBGrid1.Columns[i].Title.Caption+','; Add(AStr); First; while not Eof do begin AStr :=''; for i :=0 to DBGrid1.Columns.Count-1 do begin AText :=DBGrid1.Columns[i].Field.DisplayText; AText :=DelStr(',', AText); AStr :=AStr +AText +','; end; Add(AStr); Next; end; with DBGrid2.DataSource.DataSet, AList do try DisableControls; if not Active then Exit; AStr :=''; for I :=0 to DBGrid2.Columns.Count -1 do AStr :=AStr + DBGrid2.Columns[i].Title.Caption+','; Add(AStr); First; while not Eof do begin AStr :=''; for i :=0 to DBGrid1.Columns.Count-1 do begin AText :=DBGrid2.Columns[i].Field.DisplayText; AText :=DelStr(',', AText); AStr :=AStr +AText +','; end; Add(AStr); Next; end; AList.SaveToFile(AFile); finally EnableControls; AList.free; end;end;
这是一张表的,怎么修改?谢谢!
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Table1: TTable;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
function DelStr(subStr, AStr: String): String;
var
i, iLen: integer;
begin
Result :=AStr;
i :=Pos(subStr, Result);
iLen :=Length(subStr);
while i >0 do
begin
Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt);
i :=Pos(subStr, Result);
end;
end;
var
AList: TStringList;
i: integer;
Afile,AStr, AText: String;
begin
SaveDialog1.Execute;
Afile:=SaveDialog1.FileName;
AList :=TStringList.Create;
with DBGrid1.DataSource.DataSet, AList do
try
DisableControls; if not Active then Exit;
AStr :='';
for I :=0 to DBGrid1.Columns.Count -1 do
AStr :=AStr + DBGrid1.Columns[i].Title.Caption+',';
Add(AStr);
First;
while not Eof do
begin
AStr :='';
for i :=0 to DBGrid1.Columns.Count-1 do
begin
AText :=DBGrid1.Columns[i].Field.DisplayText;
AText :=DelStr(',', AText);
AStr :=AStr +AText +',';
end;
Add(AStr);
Next;
end;
AList.SaveToFile(AFile); finally
EnableControls;
AList.free;
end;end;end.
function DelStr(subStr, AStr: String): String;
var
i, iLen: integer;
begin
Result :=AStr;
i :=Pos(subStr, Result);
iLen :=Length(subStr);
while i >0 do
begin
Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt);
i :=Pos(subStr, Result);
end;
end;
var
AList: TStringList;
i: integer;
Afile,AStr, AText: String;
begin
SaveDialog1.Execute;
Afile:=SaveDialog1.FileName;
AList :=TStringList.Create;
with DBGrid1.DataSource.DataSet, AList do
try
DisableControls; if not Active then Exit;
AStr :='';
for I :=0 to DBGrid1.Columns.Count -1 do
AStr :=AStr + DBGrid1.Columns[i].Title.Caption+',';
Add(AStr);
First;
while not Eof do
begin
AStr :='';
for i :=0 to DBGrid1.Columns.Count-1 do
begin
AText :=DBGrid1.Columns[i].Field.DisplayText;
AText :=DelStr(',', AText);
AStr :=AStr +AText +',';
end;
Add(AStr);
Next;
end;
with DBGrid2.DataSource.DataSet, AList do
try
DisableControls; if not Active then Exit;
AStr :='';
for I :=0 to DBGrid2.Columns.Count -1 do
AStr :=AStr + DBGrid2.Columns[i].Title.Caption+',';
Add(AStr);
First;
while not Eof do
begin
AStr :='';
for i :=0 to DBGrid1.Columns.Count-1 do
begin
AText :=DBGrid2.Columns[i].Field.DisplayText;
AText :=DelStr(',', AText);
AStr :=AStr +AText +',';
end;
Add(AStr);
Next;
end;
AList.SaveToFile(AFile); finally
EnableControls;
AList.free;
end;end;