[發明專利]一種生成報告文件的方法及裝置有效
| 申請號: | 201811060916.0 | 申請日: | 2018-09-12 |
| 公開(公告)號: | CN109241515B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 張存廣 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06F40/186 | 分類號: | G06F40/186;G06F16/25 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 李世喆 |
| 地址: | 250000 *** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 生成 報告 文件 方法 裝置 | ||
1.一種生成報告文件的方法,其特征在于,包括:
獲取報告需求;
根據所述報告需求,確定報告文件的數據源中的至少一個目標數據字段;
根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板;
獲取所述數據源;
利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件;
所述報告需求中包括:至少一個待填充數據的位置字段;
所述根據所述報告需求,確定報告文件的數據源中的至少一個目標數據字段,包括:
確定所述報告需求中的每個所述位置字段對應的所述目標數據字段;
所述根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板,包括:
根據每個所述位置字段對應的所述目標數據字段,生成每個所述位置字段對應的表達式;
將每個所述位置字段對應的所述表達式添加到每個所述位置字段對應的位置上,生成所述freemarker模板;
所述利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件,包括:
利用所述freemarker引擎對所述freemarker模板中的每個所述表達式進行解析,確定每個所述表達式對應的所述目標數據字段,從所述數據源中獲取每個所述表達式對應的所述目標數據字段中的所述目標數據,利用所述目標數據替換對應的所述表達式,生成所述報告文件;
進一步包括:
預先設置所述freemarker模板的位于本地的第一存儲路徑;
在所述根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板之后,進一步包括:
將所述freemarker模板存儲到所述第一存儲路徑中;
在所述利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件之前,進一步包括:
從所述第一存儲路徑中獲取所述freemarker模板;
在所述生成所述報告文件之后,進一步包括:
將所述報告文件保存到本地;
進一步包括:
預先設置所述freemarker模板的位于服務器上的第二存儲路徑;
在所述根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板之后,進一步包括:
將所述freemarker模板存儲到所述第二存儲路徑中;
在所述利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件之前,進一步包括:
從所述第二存儲路徑中獲取所述freemarker模板;
在所述生成所述報告文件之后,進一步包括:
將所述報告文件保存到所述服務器上;
將位于所述服務器上的所述報告文件以文件流的形式下載到本地。
2.一種生成報告文件的裝置,其特征在于,包括:
需求獲取單元,用于獲取報告需求;
模板生成單元,用于根據所述報告需求,確定報告文件的數據源中的至少一個目標數據字段,根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板;
數據獲取單元,用于獲取所述數據源;
報告生成單元,用于利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件;
所述報告需求中包括:至少一個待填充數據的位置字段;
所述模板生成單元,用于確定所述報告需求中的每個所述位置字段對應的所述目標數據字段,根據每個所述位置字段對應的所述目標數據字段,生成每個所述位置字段對應的表達式,將每個所述位置字段對應的所述表達式添加到每個所述位置字段對應的位置上,生成所述freemarker模板;
所述報告生成單元,用于利用所述freemarker引擎對所述freemarker模板中的每個所述表達式進行解析,確定每個所述表達式對應的所述目標數據字段,從所述數據源中獲取每個所述表達式對應的所述目標數據字段中的所述目標數據,利用所述目標數據替換對應的所述表達式,生成所述報告文件;
進一步包括:
第一設置單元,用于設置所述freemarker模板的位于本地的第一存儲路徑;
所述模板生成單元,進一步用于在所述根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板之后,執行:將所述freemarker模板存儲到所述第一存儲路徑中;
所述報告生成單元,進一步用于在所述利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件之前,執行:從所述第一存儲路徑中獲取所述freemarker模板;
進一步包括:
存儲單元,用于將所述報告文件保存到本地;
進一步包括:
第二設置單元,用于設置所述freemarker模板的位于服務器上的第二存儲路徑;
所述模板生成單元,進一步用于在所述根據所述至少一個目標數據字段和所述報告需求,生成freemarker模板之后,執行:將所述freemarker模板存儲到所述第二存儲路徑中;
所述報告生成單元,進一步用于在所述利用freemarker引擎將所述數據源中所述至少一個目標數據字段中的目標數據,填充到所述freemarker模板中,生成所述報告文件之前,執行:從所述第二存儲路徑中獲取所述freemarker模板;
下載單元,用于將所述報告文件保存到所述服務器上;將位于所述服務器上的所述報告文件以文件流的形式下載到本地。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811060916.0/1.html,轉載請聲明來源鉆瓜專利網。





