有关formula one的问题(80分)

  • 主题发起人 tiger007
  • 开始时间
T

tiger007

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位高手:
使用本地Paradox数据库时,如果使用Formula One作报表,是不是可以
不使用ODBC连接数据库.如果时,该怎样做?
可否提供例子?或有关Formula One使用的教程.
 
如果仅仅想打印报表的话,尽量不要用Formula One还不如用Excel,用Excel既
方便,而且用户可以跟据自己的需要修改打印的格式,
 
用Excel怎样进行数据传递,并打印.
 
示例如下:
uses comobj;
var
excel:variant;
i:integer;
begin
excel:=createoleobject('excel.sheet');
table1.open;
for i:=0 to table1.fieldcount-1do
excel.application.cells[2,i+1].value:=table1.Fields.asstring;
table1.close;
excel.application.visible:=true;
end;

关闭时:excel.application.quit;
就可以把数据填入相应的表格中。至于打印,目前还不知道。
 
to liuyj
如果有TBlobField下的数据(非文件、非图像)能否拿到Excel下?
以AsString的方式,不行。
 
还有一种方法:代码如下:
uses
excel_tlb;
var
myexcel:_application;
begin
myexcel:=coapplication_.create;
myexcel.Workbooks.Add(xlwbatworksheet,0);
myexcel.Cells.item[1,1]:='123';//填数据
myexcel.Worksheets.PrintOut(emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,0);//打印;
myexcel.Quit ;
end;

其中excel_tlb是通过以下步骤取得:
1.选择project|import type library
2.选择word;
3.OK退出就会生成excel_tlb.pas文件。
关于Tblobfield下的数据,你可以采用table1.fieldbyname('name').value试一试。
 
基本上可以采用liuyj的方法,不过最好把
myexcel.Worksheets.PrintOut(emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,0);//打印;
改为:
myexcel.SelectedSheets.PrintOut(emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,0);//打印;
 
与99-7-30我回答的内容相似,打印可以简单些。你只要查看一下excel中VB编辑器
中的帮助就可以。
uses comobj;
xlapp,sheet:variant;
xlapp:=createoleobject('excel.application');
xlapp.visible:=true;//excel可见
xlapp.Workbooks.Open('D:/Sheet1.xls');
sheet:= xlapp.workbooks[1].worksheets[1];
for i:=2 to 10do
sheet.cells[i,1]:=i;
sheet.cells[i,1]:='=sum(a1:a10)';
sheet.printout(1);//打印,参数为打印份数
xlapp.workbooks[1].close(false,,);//不存盘
xlapp.quit;
 
多人接受答案了。
 
顶部