用rave控件就可以,我刚刚做过一个。
IntraWeb和Rave的无缝连接
我的思路就是先把报表保存成HTML或PDF格式,然后再用IE调用
const
AIPOptions: string = 'toolbar=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,location=no,directories=no,width=1000,height=700';
var
aipurl :string;
rvproject1.Open;
rvproject1.SelectReport('report1',true);//选择要打印的报表
RvSystem1.DoNativeOutput:=false;
RvSystem1.DefaultDest:= rdFile;//保存成文件
RvSystem1.RenderObject:=RvRenderHTML1;//保存成HTML格式
RvSystem1.OutputFileName:='files/test.html'; //存放的路径
RvSystem1.SystemSetups:=RvSystem1.SystemSetups-[ssAllowSetup];
try
rvproject1.Execute;//生成报表
AIPURL := WebApplication.URLBase + '/files/' + 'test.html'; //IE打开第一页报表
AddToInitProc('NewWindow("' + AIPURL + '", "Agenda", "' + AIPOptions+'");');
except
webapplication.ShowMessage('生成报表文件错误!');
end;
呵呵。别人写的,拿来主义而已。