Delphi知识中心
www.delphi.ee
提供Delphi技术知识
与Delphi程序员共同进步


在线服务QQ:99923144 随时恭候您的光临
首页 基础知识 WIN系统 组件使用 组件开发 数据库 ACTIVEX 多媒体技术 网络技术 关于
文章类别:数据库    你尚未登陆,会员功能无法使用,请从 网站首页 登陆。
  数据库导出为XLS  
 

数据库导出为XLS

Uses DB,ADODB,StrUtils;

//filename是一个后带‘\’的目录

Function query1XLS(filename: String): boolean;
Var cnn : TADOConnection; query : tadoquery;
tablenames : tstrings; filednames : tstrings;
i, j : integer; XLS : tstrings; s : String;
Begin
result := false;
cnn := TADOConnection.Create(form1);
cnn.ConnectionString := PromptDataSource(application.Handle, '');
If cnn.ConnectionString = '' Then exit;

cnn.CursorLocation := clUseServer;
cnn.LoginPrompt := false;
cnn.Connected := true;
tablenames : = tstringlist.Create;
filednames := tstringlist.Create;
XLS := tstringlist.Create;

cnn.GetTableNames(tablenames);
Try
For i := 0 To tablenames.count - 1 Do Begin
filednames.Clear;
cnn.GetFieldNames(tablenames.Strings[i], filednames);
Try
query := tadoquery.Create(form1);
query.Connection := cnn;
query.SQL.Clear;
query.SQL.Add('select * from ' + tablenames.Strings[i]);
query.Open;
xls.Clear;
xls.Add(ansireplacetext(query.FieldList.Text, #13#10, #9));
s := '';
For j := 0 To filednames.Count - 1 Do
s := s + query.Fields.Fields[j].AsString + #9;
xls.Add(s);
xls.SaveToFile(filename + tablenames.Strings[i] + '.xls');
Except
//
End;
End;
Finally
freeandnil(tablenames);
freeandnil(filednames);
freeandnil(xls);
result := true;
End;
End;

 

在线服务QQ:99923144 Delphi程序员QQ群(139442)
Delphi知识中心 www.delphi.ee 最专业的Delphi技术资料网站