如何将查询的值导出到EXECEL中?(100分)

  • 主题发起人 delphi_beginer
  • 开始时间
D

delphi_beginer

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DELPHI6+SQLSERVER2000,采用了ADO连接,现发现如果使用DELPHI自带的EXCEL控件将
表中的数据导出到EXECEL中,效率很低,200多条需要2分多钟,各位大侠有何高见,请
赐教!
 
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,row,column:integer;
begin
Try
ExcelApplication1.Connect;
Except
MessageDlg('Excel 没有安装',mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=true;
ExcelApplication1.Caption:='Excel Not Istalled!';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
query1.Open;
row:=1;
column:=1;
for j:= 0 to Query1.FieldCount-1 do
begin
ExcelWorksheet1.Cells.Item[row,column]:=query1.fields[j].FieldName;
column:=column+1;
end;
row:=2;
While Not(query1.Eof) do
begin
column:=1;
for i:=1 to query1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:=query1.fields[i-1].AsString;
column:=column+1;
end;
query1.Next;
row:=row+1;
end;
query1.first;
ExcelWorkbook1.Disconnect;
ExcelWorksheet1.Disconnect;
ExcelApplication1.DisConnect;
end;
 
同意上面同志的方法
 
dxdbgrid控件有这个功能
saveasxls(),很快
 
nansha,我程序里写的和你是一样的,即使我在导数据时将dbgrid给disable也还是很慢,
我发现用PB写的话,就很快
 
ugvanxk,请问该控件是DELPHI自带的吗,如果不是,去哪找,请明示,谢谢
 
www.51delphi.com有
 
问题已经解决了,谢谢.dxdbgrid我没有找到,找到的是smexport,DXDBGRID哪位大侠有,
麻烦给一个.
 
多人接受答案了。
 
顶部