uses AxCtrls, OleCtrls, Vcf1;Procedure SavetoExcel(DBGrid1 : TDBGrid);
var
i, j: integer;
F1Book1: TF1Book;
XlsPath: string;
SaveDialog1 : TSaveDialog;
begin
SaveDialog1 := TSaveDialog.Create(nil);
SaveDialog1.Filter := 'Excel files (*.xls)|*.xls';
if SaveDialog1.Execute = True then
XlsPath := SaveDialog1.FileName
else
Exit;
try
F1Book1 := TF1Book.Create(nil);
for i := 1 to Dbgrid1.Columns.Count do
begin
F1Book1.TextRC[1,i] := Dbgrid1.Columns.Items[i-1].Title.Caption;
end;
Dbgrid1.DataSource.DataSet.First;
j := 1;
while not Dbgrid1.DataSource.DataSet.Eof do
begin
j := j + 1;
for i := 1 to Dbgrid1.Columns.Count do
begin
F1Book1.TextRC[j,i] :=
Dbgrid1.DataSource.DataSet.FieldByName(Dbgrid1.Columns[i-1].FieldName).AsString;
end;
Dbgrid1.DataSource.DataSet.Next;
end;
F1Book1.Write(Trim(XlsPath)+'.xls',F1FileExcel5);
finally
F1Book1.Free;
end;
SaveDialog1.Free;
F1Book1.Free;
end;
var
i, j: integer;
F1Book1: TF1Book;
XlsPath: string;
SaveDialog1 : TSaveDialog;
begin
SaveDialog1 := TSaveDialog.Create(nil);
SaveDialog1.Filter := 'Excel files (*.xls)|*.xls';
if SaveDialog1.Execute = True then
XlsPath := SaveDialog1.FileName
else
Exit;
try
F1Book1 := TF1Book.Create(nil);
for i := 1 to Dbgrid1.Columns.Count do
begin
F1Book1.TextRC[1,i] := Dbgrid1.Columns.Items[i-1].Title.Caption;
end;
Dbgrid1.DataSource.DataSet.First;
j := 1;
while not Dbgrid1.DataSource.DataSet.Eof do
begin
j := j + 1;
for i := 1 to Dbgrid1.Columns.Count do
begin
F1Book1.TextRC[j,i] :=
Dbgrid1.DataSource.DataSet.FieldByName(Dbgrid1.Columns[i-1].FieldName).AsString;
end;
Dbgrid1.DataSource.DataSet.Next;
end;
F1Book1.Write(Trim(XlsPath)+'.xls',F1FileExcel5);
finally
F1Book1.Free;
end;
SaveDialog1.Free;
F1Book1.Free;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货