使用JavaReport製作Web報表與圖形 入門示例
阿新 • • 發佈:2019-01-22
工作中非常需要根據客戶錄入的資料在頁面上生成一些報表,苦於那個AnyChart是收費的,不敢用,所以就找了個免費的基於Java的第三方報表元件:
JavaReport是一款國產的第三方元件,它可以用來開發Web報表,也能用來製作Web圖形。它在報表展現方面表現優異,能實現Word, Excel, PDF, CSV等格式的精確匯出。
首先,你需要下載JavaReport-V3-Enterprise-Released.jar這個包,
將這個jar包引入專案檔案,如下圖:
接下來以一個簡單的JSP頁面舉例:
webChart.jsp:
<%@ page language="java" contentType="text/html; charset=GBK"%> <%@ page import="com.javareport.beans.*
"%> <%@ page extends="com.javareport.http.WebReportEngine"%> <%! public Report createReport(HttpServletRequest request) throws Exception{ //圖片型別陣列 int[] chartType = new int[]{ Chart.CHART_PIE3D,Chart.CHART_STACKBAR3D, Chart.CHART_CURVE,Chart.CHART_LINE, Chart.CHART_POINT,Chart.CHART_INVERTED_CURVE, Chart.CHART_INVERTED_LINE,Chart.CHART_INVERTED_STACKBAR }; //單元資料的顯示標籤字元陣列 String[] labels = new String[]{"長沙", "衡陽", "懷化", "岳陽"}; //例項化報表物件 Report report = new Report(); //在頁首中新增文字資訊內容 report.addHeaderText("湖南省2011年繼續教育報名人數統計圖"); //在報表表的頁首新增一條橫線 report.addHeaderSeparator(1); //在頁尾新增一條直線 report.addFooterSeparator(1); //在頁尾新增文字資訊內容 report.addFooterText("第{P}頁, 共{N}頁"); //迴圈輸出各種型別的圖片 for(int i=0;i<chartType.length;i++){ try{ //例項化一個圖表物件 Chart chart = new Chart((Number[][])getData(request)); //設定圖表中的單元資料的顯示的標籤 chart.setLabels(labels); //設定統計圖的型別 chart.setStyle(chartType[i]); //設定統計圖中顯示的時候把具體的數值也顯示出來 chart.setShowValue(true); //在報表中新增文字資訊內容 report.addText("報表中常見的報表統計圖表("+i+"): "); //在報表中新增圖表資訊內容 report.addChart(chart); //在報表中新增換行符號 report.addBreak(); report.addBreak(); report.addBreak(); } catch(Exception e){ e.printStackTrace(); } } return report; } //讀者可根據需要設定陣列的值,或從資料庫中取出值放入陣列中以動態顯示資料 public Double[][] getData(HttpServletRequest request){ Double[][] data = new Double[1][4]; data[0][0] = new Double(50); data[0][1] = new Double(50); data[0][2] = new Double(35); data[0][3] = new Double(55); return data; } //定製Web報表在頁面首部顯示的工具欄為標準的樣式,增加一個“返回”按鈕,返回到首頁 public String getToolbarScript(HttpServletRequest request){ return "<a href=\"webChart.jsp\"><img src=\""+request.getRequestURI()+ "?op=Resource&name=/resource/back.gif\" border=\"0\" alt=\"返回\"></a>"; } %>
執行結果如下:
在頂部的工具欄中,可以將報表匯出為Word、Excel、PDF等多種格式。
小提示:
我第一次在Tomcat 6.0中釋出這個頁面的時候報錯了,內容為:
com.javareport.http.WebReportEngine cannot be resolved to a type
但其實這個包早就已經引入了,不知為何還是報錯。後來把這個元件從專案中刪了,重新引入一次,重新發布頁面,然後就能正常運行了,,,估計又是Eclipse抽了。