當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

引入JFreeChart圖表

1. 描述

JFreeChart 是 Java 平台上很好的一個開放圖表繪制類庫,不但可以生成多種圖表,并且可以産生 PNG 和 JPEG 格式的輸出,還可以與 PDF 和 Excel關聯。所以希望在我們報表工具可以直接引入第三方 JFreeChart 的圖表,使用報表單元格數據,如下圖效果:

222


2. 解決方案

FineReport 通過自定義函數,創建圖表數據源,将生成的 JFreeChart 圖表先轉換成圖片,然後在報表裏面展示。


3. 示例

3.1 創建一個表格數據源(dataset) 

private CategoryDataset[] createDatasets(){裏面通過單元格擴展出來的數據定義圖表的數據源}


3.2 由 ChartFactory 産生 JFreeChart 對象

private JFreeChart createChart(CategoryDataset acategorydataset[]){設置圖表的一些屬性}


3.3 把 JFreeChart 圖表輸出成圖片


private BufferedImage createImage(int width, int height) {
CategoryDataset acategorydataset[] = createDatasets();
JFreeChart jfreechart = createChart(acategorydataset);
return jfreechart.createBufferedImage(width, height);
}


3.4 完整代碼詳見:

https://code.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/function/JFreeToChart.java


注:在Eclipse中導入第三方包jcommon-1.0.16.jarjfreechart-1.0.13.jar,導入第三方包可參考文檔引用第三方jar包


3.5 編譯并運行

1)編譯自定義函數

編譯 JFreeToChart.java 類生成 JFreeToChart.class 文件拷貝至報表應用所在目錄%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\function下。

2)注冊自定義函數

啓動設計器,點擊服務器>函數管理器,新增函數取名爲 JFreeToChart,選擇 JFreeToChart.class 類,如下圖:

222

此時自定義函數便定義好了,您可以在設計器中使用該函數。

3)使用自定義函數

222

注:圖表中使用的數據可以使用 内置數據集,具體數據爲模板預覽中左側的數據

如上圖 JFreeToChart 圖表數據由單元格擴展而來,在單元格中輸入公式=JFreeToChart(A2,B2),便可以顯示 JFreeChart 圖表了。

注:通過設計器預覽該模板之前,需要将 jcommon-1.0.16.jar和jfreechart-1.0.13.jar 這兩個 JAR 包放在%FR_HOME%\webapps\webroot\WEB-INF\lib下面,重啓設計器之後,再預覽。


3.6 模板預覽

分頁預覽,即可看到如下效果:

222


附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s後關閉

反饋已提交

網絡繁忙