反饋已提交

網絡繁忙

引入JFreeChart圖表

1. 描述

JFreeChart 是 Java 平台上很好的一個開放圖表轉列類庫,不但可以生成多種圖表,並且可以產生 PNG 和 JPEG 格式的匯出,還可以與 PDF 和 Excel聯動。所以希望在我們報表工具可以直接引入第三方 JFreeChart 的圖表,使用報表儲存格資料,如下圖效果:

1552468340ZoyRUBq2.png

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.jar  jfreechart-1.0.13.jar 。匯入第三方包可參考文檔 編譯Java程式 

3.5 編譯並運作

1)編譯自訂函式

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

2)註冊自訂函式

啟動設計器,點選伺服器>函式管理器,新增函式取名為 JFreeToChart,選擇 JFreeToChart.class 類,如下圖:

QQ20250609-155350.png

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

3)使用自訂函式

1552468248DRmDC1mb.png

注:圖表中使用的資料可以使用 内置资料集 ,具體資料為範本預覽中左側的資料。

如上圖 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 範本預覽

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

1552468340ZoyRUBq2.png


附件列表


主題: 圖表應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙