最新評論
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-10 19:26
@凌晨風
“分成兩列橫著打印”是不是指像我現在的報表逆時針轉90度。如果是,那在Jasperreport里是做不到的。文章中也有提及,Jasperreport是只能一個區域(band)一個區域地去渲染,因為區域的排列是由上到下,所以渲染的順序也是從上到下的,沒辦法從左到右渲染。
“分成兩列橫著打印”是不是指像我現在的報表逆時針轉90度。如果是,那在Jasperreport里是做不到的。文章中也有提及,Jasperreport是只能一個區域(band)一個區域地去渲染,因為區域的排列是由上到下,所以渲染的順序也是從上到下的,沒辦法從左到右渲染。
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-10 19:18
@john
那你的意思是適合中國的報表才有意義?那什么是中國式的報表呢?
那你的意思是適合中國的報表才有意義?那什么是中國式的報表呢?
re: JasperReport那些事兒(四)——制作標簽式報表 凌晨風 2009-03-10 09:11
@john
JasperReport不是不適合中國報表,只是它不是為中國報表而設計!jasperReport功能很強大,只要你有想象力完全可以定制所需要的報表,關鍵是它開源,是一個純java報表,如果你是跨系統那么它是首選,前提是你有足夠的時間和耐心哦
JasperReport不是不適合中國報表,只是它不是為中國報表而設計!jasperReport功能很強大,只要你有想象力完全可以定制所需要的報表,關鍵是它開源,是一個純java報表,如果你是跨系統那么它是首選,前提是你有足夠的時間和耐心哦
re: JasperReport那些事兒(四)——制作標簽式報表 凌晨風 2009-03-10 09:04
@Heis
博主說的很有道理,需求不同,中國式復雜的報表的確做起來很麻煩.
我也是發表一下個人意見而已.大家共同學習啊!
我接觸過jasper的api,底層針對子報表采用io加載,編譯jasper文件,之后.java文件,博主可以跟蹤調試一下多子報表的例子看看,程序運行時會在你的硬盤上寫文件之后編譯加載到內存后刪除掉,放開底級別的日志就可以看出來.
我們的系統是跑在局域網的,運行起來都不是很理想.至于報表上展示的數據和圖表等等需要特殊經過計算的數據我是采用scriplet處理,而底層只需要一個簡單的connection就可以(主要是考慮到我們的報表系統是給用戶使用的,而用戶只會一些簡單的sql,配上我們封裝的scriplet就可以達到想要的效果).
關于那個"分欄",我是看了這個效果圖才有此說法,至于是不是和你的需求一致那大家就應該多交流了:先說說我的想法:分成兩列橫著打印就可以出現你要的這種效果圖,不知道博主是不是這個意思?學習學習!
博主說的很有道理,需求不同,中國式復雜的報表的確做起來很麻煩.
我也是發表一下個人意見而已.大家共同學習啊!
我接觸過jasper的api,底層針對子報表采用io加載,編譯jasper文件,之后.java文件,博主可以跟蹤調試一下多子報表的例子看看,程序運行時會在你的硬盤上寫文件之后編譯加載到內存后刪除掉,放開底級別的日志就可以看出來.
我們的系統是跑在局域網的,運行起來都不是很理想.至于報表上展示的數據和圖表等等需要特殊經過計算的數據我是采用scriplet處理,而底層只需要一個簡單的connection就可以(主要是考慮到我們的報表系統是給用戶使用的,而用戶只會一些簡單的sql,配上我們封裝的scriplet就可以達到想要的效果).
關于那個"分欄",我是看了這個效果圖才有此說法,至于是不是和你的需求一致那大家就應該多交流了:先說說我的想法:分成兩列橫著打印就可以出現你要的這種效果圖,不知道博主是不是這個意思?學習學習!
re: JasperReport那些事兒(四)——制作標簽式報表[未登錄] john 2009-03-10 08:52
感覺這樣介紹沒實際意義 因為JasperReport并不適合中國的報表,很多都做不出來,建議你看看潤乾報表,不要在這里給大家推薦一個不適合中國的報表!
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-09 20:00
@凌晨風
首先,針對你說的“報表做起來很麻煩”。我前面的文章有說過,以XML作為數據源是針對不同的需求的,請考慮下面的幾種情況:如果你的報表數據要經過一系列的精確計算,然后在報表上展示計算結果;如果你的報表數據并不是全部都來自于數據庫,而是某些來自程序或其他配置文件;SQL能不能解決問題?
其次,我不能認同“多個子報表效率無疑會很底”這句話。標簽式報表主體報表的subreport元素都是指向相同的子報表模板。這相當于java中一個類調用同一個類的多個實例,這樣并不會有效率問題。使用“無疑”這個詞并不是程序員應有的素質,至少你應該先去運行一下這個報表。
我猜想你說的“多結果集”是指subdatasets,這個是只適用于連接(Connection)類型的數據集(像數據庫,Hibernate之類),并不適用于數據源(Data Source)類型的數據集(像XML,CSV之類)。
對于你的“分欄”操作,我并不是很理解,請賜教。
首先,針對你說的“報表做起來很麻煩”。我前面的文章有說過,以XML作為數據源是針對不同的需求的,請考慮下面的幾種情況:如果你的報表數據要經過一系列的精確計算,然后在報表上展示計算結果;如果你的報表數據并不是全部都來自于數據庫,而是某些來自程序或其他配置文件;SQL能不能解決問題?
其次,我不能認同“多個子報表效率無疑會很底”這句話。標簽式報表主體報表的subreport元素都是指向相同的子報表模板。這相當于java中一個類調用同一個類的多個實例,這樣并不會有效率問題。使用“無疑”這個詞并不是程序員應有的素質,至少你應該先去運行一下這個報表。
我猜想你說的“多結果集”是指subdatasets,這個是只適用于連接(Connection)類型的數據集(像數據庫,Hibernate之類),并不適用于數據源(Data Source)類型的數據集(像XML,CSV之類)。
對于你的“分欄”操作,我并不是很理解,請賜教。
re: JasperReport那些事兒(四)——制作標簽式報表 凌晨風 2009-03-09 17:08
這樣的報表做起來很麻煩,而且多個子報表效率無疑會很底,樓主有沒有想過jasperReport的API支持多結果集的報表,也就是針對報表上不同的塊解釋不同的SQL填充?而且樓主所說的標簽式報表完全可以通過簡單的一個jrxml文件通過分欄操作完成
re: JasperReport那些事兒(一)——iReport制作表格 Heis 2009-03-09 15:02
@tide
我理解你的意思是像下面這樣的表格嗎?
_______________
| |____|____|
| |____|____|
| |____|____|
| |____|____|
如果是,我會在下一篇文章中介紹。
我理解你的意思是像下面這樣的表格嗎?
_______________
| |____|____|
| |____|____|
| |____|____|
| |____|____|
如果是,我會在下一篇文章中介紹。
re: JasperReport那些事兒(一)——iReport制作表格 tide 2009-03-09 13:22
請教一下,怎么樣可以自做單元格合并這樣的中文式的報表?謝謝你的答復。
我的qq:605524436。
我的qq:605524436。
re: JasperReport那些事兒(四)——制作標簽式報表 Heis 2009-03-09 10:20
@游上岸的魚
使用XML作為數據源比直接讀取數據庫更有優勢的地方在于:
1.數據可以在程序里處理;
2.數據獨立性和可讀性好
但是劣勢也是很明顯的,因為要從數據庫讀取數據到對象,對象再轉換為XML,這個過程消耗的資源要更多,效率也會受到影響。具體的效率我也沒測試過,但是我在項目里生成的XML在一萬行左右時,效率是可以接受的。
但是對于效率要求比較高的報表,但是數據不需要做中間處理的報表,我并不推薦XML作為數據源這種方式。
使用XML作為數據源比直接讀取數據庫更有優勢的地方在于:
1.數據可以在程序里處理;
2.數據獨立性和可讀性好
但是劣勢也是很明顯的,因為要從數據庫讀取數據到對象,對象再轉換為XML,這個過程消耗的資源要更多,效率也會受到影響。具體的效率我也沒測試過,但是我在項目里生成的XML在一萬行左右時,效率是可以接受的。
但是對于效率要求比較高的報表,但是數據不需要做中間處理的報表,我并不推薦XML作為數據源這種方式。
re: JasperReport那些事兒(四)——制作標簽式報表[未登錄] 游上岸的魚 2009-03-09 09:16
看了大大的四篇,發現自己的問題有了解決方法,大大是把查詢結果弄成XML數據源,然后再把它們讀取到報表,這就解決了直接對數據庫綁定數據源造成無法對條件搜索進行報表了。這樣又要涉及XML的讀寫問題,如果我的數據有好幾萬條一次性寫入XML不知道會不會效率有問題,我第一次接觸報表,請多多指教,謝謝
re: JasperReport那些事兒(二)——從對象到XML數據源 duduli 2009-02-25 09:44
如果相對于那些時常導出報表的,如在瀏覽器上導出報表的這確實一個很好的方案。
但是還是搞不清如何解決查詢的問題,所以期待你的下一章。
但是還是搞不清如何解決查詢的問題,所以期待你的下一章。
re: JasperReport那些事兒(二)——從對象到XML數據源 凌晨風 2009-02-23 08:55
這樣確實解決了煩人的SQL但是增加了額外的負擔,fillReport你需要的數據源需要從xmlDatasource中加載,如果再來點統計、圖表型等等,scriplet也會讓你越來越頭疼,首先維護起來麻煩,其次為了填充obj大對象所帶來代碼額外的代碼、性能開銷......