Java開發報表——Grid++Report 報表設計器
為了讓數據顯示的更加形象生動,報表在項目中差點兒是很常見的,可是大致能夠分為兩類:
一,圖形:以圖形的形式顯示數據,比如柱狀圖,折線圖,餅形圖等等,這裏有許多關於這方面的工具,比如JFreeCharts(利用Java語言實現的,相對來說不是太美觀),FunsionChartsFree(利用xml+flash+Js實現。相對來說不錯),能夠參考我曾經的文章:圖形生成工具(funsionChartsFree and ifreeChart) ;其次還有HighCharts(http://www.hcharts.cn/demo/index.php)和
二。就是表格,一種是能夠將數據導出為Excel表格。我們能夠通過POI(功能更加強大豐富,可是復雜)和JXL(簡單易用,可是復雜的功能有些實現不了);二。一些統計表格。用於統計重要信息進行打印的。
Java中一般經常使用的JasperReport+iReport,這個網上資料比較多,我們項目使用了Grid++Report,這個報表設計器。支持C/S開發:VB.NET、C#、VB、VC、Delphi等,B/S開發:ASP.NET、ASP、PHP、JSP等,支持全部WEBserver。曾經在
用報表設計器設計報表這裏不再贅述。無在乎頁眉頁腳。報表頭報表尾,明細網格還有各種部件的使用而已。
下邊簡單看一個報表樣例。
1,首先須要將設計好的grf的報表放到項目的某個路徑下,在jsp頁面中進行引用:
<script type="text/javascript"> // var Installed = Install_Detect(); CreateDisplayViewerEx("100%", "80%", "${contextPath}/assets/gridReport/grf/selfGetNumber.grf", "", true, ""); </script
這段代碼須要body裏邊。grid++report的默認容器是在body中。
2。利用AJAX進行數據的訪問:
<script type="text/javascript"> function getGridData() { AjaxReportViewerStart(ReportViewer, "${contextPath}/log/logregistration/gridData?startTime=‘2014-10-12‘&endTime=‘2014-10-09‘"); } </script>
3。AJAX數據的傳輸格式規定:
<report> <xml> <row><CustomerID>BLONP</CustomerID><CompanyName>國皓</CompanyName><ContactName>黃雅玲</ContactName></row> <row><CustomerID>CACTU</CustomerID><CompanyName>威航貨運有限公司</CompanyName><ContactName>劉先生</ContactName></row> <row><CustomerID>CENTC</CustomerID><CompanyName>三捷實業</CompanyName><ContactName>王先生</ContactName></row> <row><CustomerID>HUNGC</CustomerID><CompanyName>五金機械</CompanyName><ContactName>蘇先生</ContactName></row> <row><CustomerID>MEREP</CustomerID><CompanyName>華科</CompanyName><ContactName>吳小姐</ContactName></row> </xml> <_grparam> <Parameter1>Value1</Parameter1> <Parameter2>Value2</Parameter2> <StaticBox1>Text1</StaticBox1> <MemoBox1>Text2</MemoBox1> </_grparam> </report>
當中row為明細表格中字段。_grparam為參數。
這裏須要註意的是字段名字的相應。僅僅要我們在後臺用PrintWriter進行write我們拼接好的xml字符串就可以。
當然我這裏僅僅是一個簡單的樣例。事實上報表開發都幾乎相同。須要我們多看看文檔。看看官方的樣例就好多了。
Java開發報表——Grid++Report 報表設計器