扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、如果用到报表工具,上面的报表可以很好的展示出来。
成都创新互联成都网站建设按需定制,是成都网站设计公司,为自上料搅拌车提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站建设热线:13518219792
2、如果未用到报表工具,只能写SQL了,思想如下:把查询到结果放到二维数组里面,然后通过页面循环输出。该方法,效率低。
推荐你用一些开源的报表工具。
我来告诉你标准答案!createorreplaceprocedureorderuser(cidinnumber,startimeinvarchar2,endtimeinvarchar2)is
begin
foriin(selectc.id,c.name,sum(decode(state,1,1,0))type1,sum(decode(state,2,1,0))type2,count(c.id)ordernum,sum(b.atm)moneynub,count(b.id)nousenum,count(b.id)/sum(b.id)*100useper
froma,b,c
where
a.id=b.aidanda.cid=c.idandc.id=cidandto_char(b.createdate,'yyyy-mm-dd')startimeandto_char('b.createdate','yyyy-mm-dd')dbms_output.put_line(i.id||i.name);
endloop;
end;
--调用
execorderuser(100,'2012-09-10','2012-09-15');
大概是这个玩意,你自己调试一下语法和你想要的输出结果就行了
一个是在定义concurrent的时候,在parameter直接把value值写上
一个如果是report builder的报表,在rdf的参数里也可以写默认值
一个如果是Package的报表,在程序里写默认值都可以!
可用sql语句创建,也可用图形界面创建。
语句创建方法,如创建一个叫test的表,有2个字段,分别是id和name,id为number类型,name为varchar2类型,id是表的主键。
create table test
(id number primary key,
name varchar2(20));
图形界面(使用软件PLSQL)创建,建立内容同上:
1、登录指定用户到指定数据库。
2、在左边列表找到“tables”,然后右键,选择“新建”。
3、选择上方标签“一般”,并在名称处输入表名“test”。
4、然后上边选择“列”标签,下边填写字段名及类型等内容。
5、上方选择“键”标签,然后填写主键名称,并在类型处选择“Primaykey”,然后弹出窗口选择id列,将其添加到右侧。最后点击“确定”按钮。
6、最后可点击右下角的“查看SQL”预览创建语句,最后点击“应用”按钮即可创建成功。
我也做过类似的套打报表,打印纸上各题头信息都有,只要把内容打印上去就行了。
我是用xml
publisher做的,输出格式为PDF,在Rtf模板里多画表格用来固定格式间距,输出的PDF打印的时候需要记得打印出来各位置的信息,慢慢进行调整就行了。
用WORD或者PDF展示确实比较好处理,因为这两种文件本来就是按页展示的,添加分页的标识就行了(
page
),但是客户还是希望报表在EXCEL上展现,我已经用EXCEL完成了,详细请参考附件,就是格式调整的问题,秘诀就是把EXCEL上的报表copy到rtf模版里面,保证长宽一致,就差不多了,还有一点就是,要使用EXCEL2007才行
可以实现。
通常的做法是通过vba调用ado,在vba中可以定义sql语句,所以只要你能写出sql就能做出报表。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流