ExcelQueryTable怎么使用???

shenjhshen 2004-11-08 03:44:17
看了也查找了以前的帖子,但就是没有人清楚或者用过这东西,请用过的写写怎么使用,火急????谢谢,不要发那些没有用处的导出到excel,谢谢,数据量大,上十万。
...全文
540 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjazz 2004-11-09
  • 打赏
  • 举报
回复
...
shenjhshen 2004-11-09
  • 打赏
  • 举报
回复
成功了,谢谢
shenjhshen 2004-11-08
  • 打赏
  • 举报
回复
明白,和我写的代码差不多,我的只是说没有注册类别,谢谢,谢谢,我在看看,明天分给你
jinjazz 2004-11-08
  • 打赏
  • 举报
回复
ExcelApp.visible[0]:=false;就可以不打开excle窗口
加入ExcelApp.Save(XlsApp);自动保存
jinjazz 2004-11-08
  • 打赏
  • 举报
回复
给你个demo,建立odbc为qq,导出sqlserver2000northwind数据库中的orders表数据,测试通过
----------
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExcelXP, OleServer;

type
TForm1 = class(TForm)
Button1: TButton;
ExcelApp: TExcelApplication;
ExcelQueryTable: TExcelQueryTable;
ExcelBook: TExcelWorkbook;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function ToExcelFile(var Filename,SheetName,WIndowCaption:OleVariant;SqlStr:String):Boolean;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses ComObj;
{$R *.dfm}

function TForm1.ToExcelFile(var Filename,SheetName,WindowCaption:OleVariant;SqlStr:String):Boolean;
var
NewTemplate,ItemIndex:olevariant;
CurSheet:_WorkSheet;
connectStr:olevariant;
begin
NewTemplate:=emptyParam;
try
try
ExcelApp.Connect;
except
MessageDlg('您可能没有安装EXCEL', mtError, [mbOk], 0);
Abort;
end;
ExcelApp.visible[0]:=TRUE;
ExcelApp.Caption:=WindowCaption;
ExcelApp.Workbooks.Add(Newtemplate,0);
ExcelBook.ConnectTo(ExcelApp.workBooks.Item[1]);
ExcelBook.Title[0]:=WIndowCaption;
ExcelBook.Activate;
CurSheet:=ExcelBook.Sheets[1] as _worksheet;
CurSheet.Name:=SheetName;
connectstr := 'ODBC;DSN=qq;';
CurSheet.QueryTables.Add(connectstr,CurSheet.range['a3','e3'],SqlStr);
ExcelQueryTable.ConnectTo(CurSheet.QueryTables.Item(1));
ExcelQueryTable.Refresh;
except
on E: Exception do
begin
ItemIndex:=FALSE;
ExcelBook.Close(ItemIndex);
ExcelApp.Disconnect;
ExcelApp.Quit;
Application.MessageBox('数据输出到EXCEL过程出错,请检查EXCEL版本是否一致','警告',mb_ok);
exit;
end;
end;
ExcelQueryTable.Disconnect;
ExcelBook.Disconnect;
ExcelApp.Disconnect;
Result:=TRUE;
end;
procedure TForm1.Button1Click(Sender: TObject);
var XlsApp,XlsSheet,WndCaption:OleVariant;
begin
XlsApp:=OleVariant('c:\aa.xls');
XlsSheet:=OleVariant('a');
WndCaption:=OleVariant('test');
ToExcelFile(XlsApp,XlsSheet,WndCaption,'select * from orders');

end;

end.
ninliu 2004-11-08
  • 打赏
  • 举报
回复
这位老兄的广告怎么像城市里的牛皮癣让人讨厌呢!!!
好的网站需要向你这样不停的推荐吗?
shenjhshen 2004-11-08
  • 打赏
  • 举报
回复
非常反感类似上面那老兄之类做广告的
shenjhshen 2004-11-08
  • 打赏
  • 举报
回复
我用宏试了一下,很快,但在delphi使用ExcelQueryTable,参照宏了代码,调试通过,运行的时候老说没有注册类别,

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧