天天看点

关于jasper Soft studio 6.4.0 新得

关于jasper 生成报表时问题,头痛了一阵子, 后面在过网站找到了解决方法.

    客户要求在excel 里面分页, 且将会用A3 纸打印,每一页都会有title,页脚,页码等,这样说来分页必须恰到好处.不然页面就会乱.

说到页码,真的要狠狠地吐槽一下.jasper soft studio 自带了页码控件

关于jasper Soft studio 6.4.0 新得

,

但是需要两个单元格,

关于jasper Soft studio 6.4.0 新得

然而客户说只能用一个单元格来显示页码.开始我试着将两个格子里面的参数放在同一个里面,但是得到的结果不尽人意,他们会显示一样的数字,很难受.

关于jasper Soft studio 6.4.0 新得
关于jasper Soft studio 6.4.0 新得

,

后面把page_number 换成了page_count ,结果很让人意外

关于jasper Soft studio 6.4.0 新得
关于jasper Soft studio 6.4.0 新得

总页码是错的,很难受.不过后面在google 上面找到了决解方法

https://stackoverflow.com/questions/10673263/show-page-x-of-y-using-a-single-text-field.

1先创建一个变量 V_CURRENT_PAGE_NUMBER(参考下图), 

2然后选择他的properties, 设置Expression :1

3设置 Initial Value Expression :

$V{PAGE_NUMBER}  (Ps: 1,如果初始页码为0 设置为 $V{PAGE_NUMBER} + 1. 2,如果页码显示都为1 of Y 那么将Expression 设置为$V{PAGE_NUMBER}, 将initial value expression 设置为空

)

4设置Reset type:  page

关于jasper Soft studio 6.4.0 新得

5 将 Summary With Page Header And Footer 打上勾(项目里面的properties里面)

6. 直接拖一个text_file,

关于jasper Soft studio 6.4.0 新得

选择 text field

关于jasper Soft studio 6.4.0 新得

7

设置Expression :

msg("Page {0} of {1}", $V{V_CURRENT_PAGE_NUMBER}, $V{PAGE_NUMBER})

设置 Evalutation Time :

Auto

关于jasper Soft studio 6.4.0 新得

网站上面这样就结束了,但是我这边测了还是有问题,难受,但是后面解决了,下图是创建变量的截图.这下,关于页码的问题才算是真的决绝了.

关于jasper Soft studio 6.4.0 新得

____________________________________________________________________________________________________________________________

对了,关于用A3 纸打印的这个问题,没找到好的方法,倒是用了最笨的方法,我将所有的行高确定,前提是能让格子显示所有的内容,这样避免数据丢失.然后每页定量显示.