润乾报表个人笔记

  • 遍历输出

=list("煤电","气电","油电","水电","核电","风电","生物质","光伏","蓄能","其他")
  • 单元格计算、函数方法

两个单元格数值相加 A1 + B2
多个单元格数值相加 求一列 =sum(C4{}) 或者 求一区间 =sum([B4:D4])
多个单元格中求最大 =max([B4:D4])

格子条件筛选输出(根据数据集某个值等于多少) =hb.select(JNZLJ,dq==C16) 
其中数据集: SELECT dq, sum(dl)/10000 jnzlj FROM  W_QWFGDLFXBALL WHERE rq>= to_date(${jnzKs}, 'YYYYMMdd')-7 and rq<=  to_date(${jnzJs}, 'YYYYMMdd')-7  group by dq 

输出参数 =@lastYear

函数if  
=if(M25!=0,F25/M25-1)

函数字符串替换 
=replace(@month,'\'','')

字符串与变量之间的拼接 
='电网'+@year+'年发供电量月报('+replace(@month,'\'','')+'月快报)'

字符串转日期
=datetime(replace(@tjrq,'\'',''),'yyyy')
数据集输出序号(其中B3是数据集的格子)
=&B3


  • 单元格背景色--表达式

判断某些值设置 if(max([B6:D6])==B6,-65536,-1)  
动态背景颜色使用 if(row()%2==0,-3342337,-1)
  • 参数模板用于设置查询条件

参数模板的rpx命名方式为 主报表名_arg.rpx
  • 引用报表(rpx文件)

jsp的用法(使用iframe引入)

  <iframe id="${rpxName}" name="${rpxName}" src="http://${ip}:${port}/demo/reportJsp/showReport.jsp?rpx=${rpxName}.rpx&rq='${date}'" frameborder="1" width="100%" height="1300" > 暂无数据 </iframe>

如果想一个屏幕显示完整个报表就把,
showReport.jsp改为matchReport.jsp

html或者jsp的用法
引入标签 <%@taglib uri="/WEB-INF/raqsoftReport.tld" prefix="report"%>
使用report标签 <
report:html name="jxhz" params="year=${year}" reportFileName="jxhz.rpx" needSaveAsWord="yes" needSaveAsExcel="yes" theme="metro" matchScreen="7" /> (其中needSaveAsWord 表示是否需要打印word功能按钮) 居中报表 可以使用如下div标签去括住<report>标签 <div id=reportContainer data-options="region:'center',border:false" style="text-align: center"><div>
  • 传参问题

sql的参数${parentId}不用加单引号 
select * from w_lsgztjbzb where parent_id_ = ${parentId} order by xh
然后jsp那边加即可 如'${parentId}'
<report:html name="nlsgztj" params="parentId='${parentId}'" reportFileName="nlsgztj.rpx" needSaveAsWord="yes" needSaveAsExcel="yes" theme="metro" matchScreen="7" />
  • 左边表头固定的问题(可以使用如下方式解决,其中xh是你的字段)

=ds1.select(ONE,xh==0) 
  • 使用报表

两种方式1嵌入报表(把报表代码复制到自己项目合并)2独立运行报表(tomcat跑起来即可)
  • 单独部署润乾后,rpx文件放那?

默认放web-inf下的reportFlies下,这个可以在raqsoftconfig.xml里配置

    

  • 单独部署后访问报表路径

url路径 :
http://Ip:端口/demo/reportJsp/showReport.jsp?rpx=报表名称.rpx&参数名=值&参数名=值 
(其中默认项目名为demo,润乾是存java开发的web项目)
  • 单独部署后报表操作按钮修改位置,如导出

这些都是showReport.jsp调用的toolbar.jsp里的
  • 修改授权路径以及数据源

D:\ytd\runqianRep\apache-tomcat-7.0.106\webapps\demo\WEB-INF\raqsoftConfig.xml
注意:db数据源的名称,必须要和rpx报表文件数据源选择的文件一致,不然系统连接不上数据库
  • 多个数据源配置问题

默认数据源DataLogic,可以自己添加db节点,其中的name需赋值设计器的数据源名称。注意报表的每条数据集都要选择数据源,不选的话 都是使用默认的数据源
 
  • tip:

复制单元格可以复制一些公式,比如背景颜色的表达式等 
最好还是分页要是不分页的话可能数据多了会对浏览器造成压力
  • 教程连接:

外部参数(如 Url 中)如何传给润乾报表使用
http://c.raqsoft.com.cn/article/1582247953219

html 模式发布报表
http://d.raqsoft.com.cn:6999/report/preference/htmlmsfbbb2.html

web 应用目录(集成相关)
http://d.raqsoft.com.cn:6999/report/preference/wyyml184.html

教学视频连接(优酷)
http://www.raqsoft.com.cn/learning-video#c4

教学视频连接(百度云 清晰版):
https://pan.baidu.com/s/1uv3SORlCg639CIGvoe_CcA 
提取码:bz5w 

技术论坛:http://c.raqsoft.com.cn/
  •  https 协议下的报表打印导出问题 

看教程解决 乾学院  http://c.raqsoft.com.cn/article/1543972181566

 

  • 字符串与数字不能连接的报错

=if(地方其他.Select(其他)==null,0,地方其他.Select(其他))

如果地方其他.Select(其他)输出类型是数字,其中的null不能使用""替代,不然会报错

 

  • 一对多输出序号问题

比如格子值为=&B5,然后设置该格子的左主格为遍历的格子如B5,另外一对很多的,可以这样去重=two.select@r(KCFH, F_xqj==B5) 即在select后面添加@r

 

  • 合并相同数据的列。下面这种情况,使用group函数即可,不用sql的group by

查询全部数据后,前3列单元格表达式用ds.group(xx)  后面字段直接用ds.select(xx)  (正常模式)

 

posted @ 2020-09-22 20:36  爱跳舞的程序员  阅读(719)  评论(0编辑  收藏  举报