天天看點

關于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 紙列印的這個問題,沒找到好的方法,倒是用了最笨的方法,我将所有的行高确定,前提是能讓格子顯示所有的内容,這樣避免資料丢失.然後每頁定量顯示.