1. 概述
1.1 版本
報表伺服器版本 | 功能變動 |
---|---|
11.0 | - |
11.0.1 | 匯出API新增 &op=export&format=xxx |
11.0.14 | 優化:「決策報表匯出插件」在新版決策報表中不生效,若使用 匯出插件plus 匯出效果優先按照插件規則 |
11.0.17 | 新增決策報表新自適應匯出 PDF 支援單張範本水印 |
11.0.22 | 新增決策報表新自適應匯出 PDF 支援全局水印 |
11.0.27 | 新增匯出參數 imageExportScale ,可改變範本匯出比例,可用於改變清晰度 |
1.2 應用場景
FineReport 11.0 中包含兩種決策報表:「決策報表」和「舊決策報表」,其主要的差別在於 自適應屬性 的不同。
而兩種決策報表的匯出方式也有差別,本文將主要介紹 11.0 決策報表新自適應在 PC 端的匯出方式,「舊決策報表」的匯出請參見文檔:決策報表匯出插件
1.3 功能簡介
1.3.1 11.0.1 和 11.0 版本
決策報表支援匯出為 Excel、PDF 、Word 和 PNG 格式:
普通決策報表匯出API為 &export_format=xxx ,xxx 代表匯出格式對應的參數。
帶參決策報表需在匯出後綴中加上 sessionID,即 &export_format=xxx&sessionID=***
匯出時可自訂尺寸,在後綴末尾重新整理增參數 &width=1920&height=1080
匯出時可修改檔案名稱,在後綴末尾重新整理增參數 &__filename__=檔案名稱
匯出時,某些場景支援與不支援的情況,支援打勾,不支援為空:
1.3.2 11.0.2 及之後版本
決策報表支援匯出為 Excel、PDF 、Word 和 PNG 格式:
普通決策報表匯出API為 &op=export&format=xxx 或 &export_format=xxx ,xxx 代表匯出格式對應的參數。
帶參決策報表需在匯出後綴中加上 sessionID,即 &op=export&format=xxx&sessionID=*** 或 &export_format=xxx&sessionID=***
匯出時可自訂尺寸,在後綴末尾重新整理增參數 &width=1920&height=1080
匯出時可修改檔案名稱,在後綴末尾重新整理增參數 &__filename__=檔案名稱
11.0.27 及之後版本,支援設定範本匯出時的比例,在後綴末尾重新整理增參數 &imageExportScale=X ,X 可設定為 1/2/3/4/5 ,值越大匯出影像越清晰。
1.3.3 匯出支援的場景
以下是匯出時,某些場景支援與不支援的情況,支援打勾,不支援為空:
功能項 | 匯出為Word | 匯出為Excel | 匯出為PDF | 匯出為PNG |
---|---|---|---|---|
body 背景 | ✔ | ✔ | ||
動態背景 | ||||
圖表塊/報表塊背景為顏色 | ✔ | ✔ | ✔ | ✔ |
圖表塊/報表塊背景為漸變色 | ✔ | ✔ | ✔ | |
圖表塊背景為圖片 | ✔ | ✔ | ✔ | |
報表塊背景為圖片 | ✔ | ✔ | ||
組件/body 背景透明度 | ✔ | |||
組件重疊 | ✔ | ✔ | ||
組件圓角 | ✔ | ✔ | ||
儲存格顯示不全 | ✔ | ✔ | ||
參數面板/參數面板元件 | ||||
body 中的元件(有顯示值) (不包括body內的組件內的元件) | ✔ | ✔ | ✔ | ✔ |
組件線型邊框 | ✔ | ✔ | ||
組件自訂圖片邊框 | ||||
富正文 | ✔ | ✔ | ✔ | ✔ |
水印 | ✔ | |||
行動端 | ||||
Tab 組件預設只匯出第一個 Tab 頁,但支援在匯出參數後重新整理增參數後綴 &tab_name=Tab塊名稱、show_index=Tab頁索引實現匯出指定頁。範例:
| ||||
報表塊存在多分頁時,只匯出第一個分頁 | ||||
當存在組件重疊時,匯出檔案中 Tab 組件總在最底層 | ||||
&export_format=xxx 匯出excel時,支援匯出捲軸延伸部分的資料(僅支援舊自適應) &op=export&format=xxxAPI,匯出excel時,不支援匯出捲軸延伸部分的資料。 |
2. 普通決策報表匯出
若決策報表沒有參數設定,那麼將決策報表整體匯出為 Excel、PDF 、Word 和 PNG 格式,只需要在「PC端預覽」時的 URL 連結新增後綴 &op=export&format=xxx,回車即可匯出。xxx 代表匯出格式對應的參數, 如下表所示:
匯出格式 | 新增後綴 |
---|---|
Excel | &op=export&format=excel |
Word | &op=export&format=word |
&op=export&format=pdf | |
PNG | &op=export&format=image |
注:對於不帶參的決策報表,匯出API也支援 &format=xxx 這種寫法。
例如匯出決策報表為 Excel ,如下圖所示:
3. 帶參決策報表匯出
決策報表中含有參數時,決策報表或決策報表內的組件內容,會因為參數(例如參數查詢,主子報表等)變化而改變。那麼使用 URL 匯出決策報表時,需要新增 sessionID 來匯出當前查詢結果,否則匯出內容會與參數查詢內容不一致。
注:瀏覽器請求 Web 服務,在建立對話時,伺服器會為每一個對話生成一個單獨的對話標識,這個對話標識就是 sessionID,以長整形資料類型傳回。sessionID 就等於本次對話的 ID 記錄。
3.1 新增初始化後事件
在帶參數的決策報表中,需要給參數面板「para」新增一個「初始化後」事件,去傳回 sessionID 。
選中參數面板,新增「初始化後」事件,設定一個參數「aaa」,值選擇 F(x) 類型後輸入公式:sessionID。再輸入 JavaScript 程式碼 :
步驟如下圖所示:
3.2 獲取 sessionID 匯出
1)儲存報表,點選「PC端預覽」,彈出當前 sessionID,複製當前 sessionID 後,點選確定。如下圖所示:
注:sessionID 每次重新整理都會變化。
2)URL 後綴加上&op=export&format=xxx&sessionID=***,xxx 代表匯出檔案格式對應的參數,*** 代表複製的當前 sessionID ,回車即可匯出當前的查詢結果。
3.3 範本下載
已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\frm\帶參決策報表匯出.frm
點選下載範本:帶參決策報表匯出.frm
4. JS 實現點選按鈕匯出帶參決策報表
透過在參數面板新增「按鈕元件」(也可以在 body 直接新增按鈕元件),設定參數「aaa」獲取當前sessionID ,新增「點選事件」實現匯出。
4.1 新增按鈕元件
以第 3.3 節的範本為例,在參數面板中新增「按鈕元件」,按鈕名稱為「匯出Excel」,如下圖所示:
4.2 新增點選事件
選中「按鈕元件」,新增一個「點選事件」,設定一個參數「aaa」,值選擇 F(x) 類型後輸入公式:sessionID。在輸入 JavaScript 程式碼:
如下圖所示:
4.3 效果預覽
儲存報表,點選「PC端預覽」,點選「查詢」按鈕後再點選「匯出Excel」按鈕。效果如下所示:
4.4 範本下載
點選下載範本:JS 實現點選按鈕匯出帶參決策報表.frm