主题:请教关于delphi调用excle的问题
cdstc
[专家分:0] 发布于 2006-05-16 20:17:00
我做了一个小程序,用的是access数据库,用来查询人员的相关资料,然后在listview中显示出来,有时候我需要把这些数据打印出来,听说delphi自带的打印功能不怎么强,而且比较难以调整,(我刚学的delphi,也不会这个打印),所以我想能不能直接把查询出来的数据用excle打开,用excel的强大功能调整打印,不知道有没有大侠帮我这个忙?
我也上网查了些资料,不过那些方法写的我看了半天看不懂,(很打击我的信心。。。) ,也没说用到listviw组件,不知道有哪位大哥帮帮我,谢谢了,我这几天为这事都快崩溃了。。。
我的QQ:28232546
回复列表 (共2个回复)
沙发
zhangyaootao [专家分:40] 发布于 2006-05-17 15:41:00
我有C++调用EXCEL的源码,可就是没有delphi的,不过delphi的QReport也不错哦
板凳
gongchengh [专家分:390] 发布于 2006-05-18 19:30:00
导出是如下
use中加入 ExtCtrls
Visible是一个boolean的变量
ad1是dataset 或adoquery
var
sJbh:string;
SaveDialog:TSaveDialog;
begin
//打开Excel
if not OpenExcel(Visible) then
exit;
try
//写列标题
Sheet:= WorkBook.Sheets[1];
DataSetToExcelTitle(ad1,1);
Row1:=Row;
Col1:=Col;
//写数据
with ad1 do
begin
First;
Filtered:=false;
while not eof do
begin
sJbh:=fieldByName('jbh').AsString;
Sheet:= WorkBook.Sheets[1];
Row:=Row1;
Col:=Col1;
DataSetToExcelData(ad1,1);
Row1:=Row;
Col1:=Col;
end;
end;
Screen.Cursor:=OldCursor;
//以下是保存
//if Not Visible then
//begin
ePath.Text:=trim(ePath.Text);
if ePath.Text<>'' then
WorkBook.SaveAs(FileName:=ePath.Text)
else
begin
SaveDialog:=TSaveDialog.Create(Nil);
SaveDialog.Filter := 'Microsoft Excel|*.xls';
Result:=SaveDialog.Execute;
UpdateWindow(GetActiveWindow);
//if Result then
WorkBook.SaveAs(FileName:=SaveDialog.FileName);
SaveDialog.Free;
end;
Excel.Quit;
//end;
end;
finally
free;
end;
end;
我来回复