本發明專利技術提供了一種生成動態報告的方法、裝置與系統,用以解決現有技術中動態報告的生成方式存在模板與數據混合導致實現不夠靈活、排版效果差、報告格式單一的問題。該方法包括:接收客戶端請求生成動態報告的報告基礎信息;對報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據;調用預定義的Word報告模板;根據Word報告模板中預設的動態標簽與Xml數據的對應關系,將Word報告模板與Xml數據結合生成Word動態報告;將生成的Word動態報告轉化成符合客戶端請求的報告類型的最終動態報告。采用本發明專利技術的技術方案,有助于提高效率和排版效果,并能滿足用戶不同類型的需求。
【技術實現步驟摘要】
本專利技術涉及電子信息領域,尤其涉及ー種生成動態報告的方法、裝置與系統。
技術介紹
隨著數字化技術的不斷出現,各行各業每天都有大量的報告需要編制生成,而對于大多數報告而言,報告的格式模板都是相同的,不同的只是其中的數據元素,這些數據元素包括文字、表格、圖片、圖表,各種數學化學公式等等,除了這些元素外,還有對于樣式的控制如字體、字號、顔色、段前距、段后距、字間距、行間距、項目符號、縮進、頁眉頁腳、邊框、底紋等。一份報告的編制,如果全由人工來操作排版處理,那工作量將是巨大而繁瑣的,耗時高且效率低下,準確性也相對較低,且在操作過程中容易出現排版樣式錯誤,另外最重要 的是,有些報告的需求不只是需要對模板中的元素進行替換那么簡單,而是需要在模板中有相應的邏輯控制功能,比如判斷、分支、循環等,另外還要求精細化的排版以達到完美、支持分布式、批量快速生成等等、這就對動態生成報告提出了進ー步的要求,因而研究動態報告的生成以及解決這些問題具有重要意義。目前,生成動態報告的方案主要有以下幾種ー是將報告的格式、樣式、靜態元素、動態數據等全部固化在程序代碼中,這種方式非可視化,靜態元素與動態數據完全混合在ー塊,且全由代碼組成,實現不夠靈活,難以擴展、維護成本非常高。ニ是利用動態網頁技術生成網頁報告,即預先在Html標簽中留出相應的位置定義變量,然后運行過程中進行替換。這種方式都是專業級開發使用的工具、且排版效果不夠專業,諸如對報告進行分頁、進行頁眉、頁腳的控制、以及報告目錄的生成、報告中變量中內容的多少對分頁的影響等都比較難以精細化控制、在打印過程中常常出現打印出現頁碼錯誤、頁眉、頁腳不在相應的位置,在靈活性、排版專業性較差。三是利用Word中的VBA技術實現文本、表格、圖形的自動處理生成Word報告,這種方式需要了解大量控制和底層開發函數,控制機制復雜,不易擴展和維護,難以普及。因此,在現有技術中,動態報告的生成方式存在模板與數據混合導致實現不夠靈活、排版效果差、報告格式単一的問題,對于該問題,目前尚未提出有效解決方案。
技術實現思路
本專利技術的主要目的是提供ー種生成動態報告的方法、裝置與系統,以解決現有技術中動態報告的生成方式存在模板與數據混合導致實現不夠靈活、排版效果差、報告格式單ー的問題。為了實現上述目的,根據本專利技術的ー個方面,提供了ー種生成動態報告的方法。本專利技術的生成動態報告的方法包括接收客戶端請求生成動態報告的報告基礎信息;對報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據;調用預定義的Word報告模板;根據Word報告模板中預設的動態標簽與Xml數據的對應關系,將Word報告模板與Xml數據結合生成Word動態報告;將生成的Word動態報告轉化成符合客戶端請求的報告類型的最終動態報告。進ー步地,接收客戶端請求生成動態報告的報告基礎信息之后還包括生成報告ID號并返回給客戶端;將報告ID號更新至數據庫。進ー步地,方法還包括根據預設的生成動態報告的處理過程與處理狀態之間的對應關系,確定本次報告ID號對應的生成動態報告的處理狀態;將本次報告ID號對應的生成動態報告的處理狀態更新至數據庫。進ー步地,對報告基礎信息進行數據解析之前還包括將報告基礎信息存儲在本地磁盤隊列。進ー步地,方法還包括將最終動態報告分別存儲到本地磁盤目錄和遠程服務器;將最終動態報告的存儲路徑更新至數據庫。進ー步地,方法還包括將最終動態報告的報告元素版本信息分別更新至數據庫和緩存。根據本專利技術的另一方面,提供了ー種生成動態報告的裝置。本專利技術的生成動態報告的裝置包括接收模塊,用于接收客戶端請求生成動態報告的報告基礎信息;解析模塊,用于對報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據;調用模塊,用于調用預定義的Word報告模板;報告生成模塊,用于根據Word報告模板中預設的動態標簽與Xml數據的對應關系,將Word報告模板與Xml數據結合生成Word動態報告;轉化模塊,用于將生成的Word動態報告轉化成符合客戶端請求的報告類型的最終動態報告。進ー步地,裝置還包括ID號生成模塊,用于生成報告ID號并返回給客戶端;ID號更新模塊,用于將報告ID號更新至數據庫。進ー步地,裝置還包括確定模塊,用于根據預設的生成動態報告的處理過程與處理狀態之間的對應關系,確定本次報告ID號對應的生成動態報告的處理狀態;狀態更新模塊,用于將本次報告ID號對應的生成動態報告的處理狀態更新至數據庫。進ー步地,裝置還包括第一存儲模塊,用于將報告基礎信息存儲在本地磁盤隊列。進ー步地,裝置還包括第二存儲模塊,用于將最終動態報告分別存儲到本地磁盤目錄和遠程服務器;路徑更新模塊,用于將最終動態報告的存儲路徑更新至數據庫。進ー步地,裝置還包括信息更新模塊,用于將最終動態報告的報告元素版本信息分別更新至數據庫和緩存。根據本專利技術的另一方面,提供了ー種生成動態報告的系統。本專利技術的生成動態報告的系統包括報告引擎,包括本專利技術的生成動態報告的裝置;遠程服務器,與報告引擎相連接,用于接收客戶端發送的生成動態報告的請求,并把該請求發送給報告引擎;數據庫,與報告引擎相連接。根據本專利技術的技術方案,通過預定義的Word報告模板與可視化數據解析生成的Xml數據文件相結合生成用戶需要的動態報告,排版精細、操作簡單、大大提升了整體效率,并能滿足用戶不同類型的需求。附圖說明說明書附圖用來提供對本專利技術的進ー步理解,構成本申請的一部分,本專利技術的示意性實施例及其說明用于解釋本專利技術,并不構成對本專利技術的不當限定。在附圖中圖1是根據本專利技術實施例的生成動態報告的方法的主要步驟的流程圖;圖2是工作流編寫數據解析流程的截圖;圖3是本專利技術實施例的生成動態報告的方法所生成的ー種Xml數據文件的截圖;圖4是圖3中的Xml數據文件與報告模板的對應關系的截圖;圖5是本專利技術實施例的生成動態報告的方法所定義的ー種報告模板的截圖50 ;圖6是本專利技術實施例的生成動態報告的方法中取動態報告的主要步驟的流程圖;圖7是根據本專利技術實施例的生成動態報告的裝置的主要模塊的示意圖;圖8是根據本專利技術實施例的生成動態報告的系統的結構示意框圖;以及圖9是圖8中報告引擎的運行機制圖。具體實施例方式需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本專利技術。本專利技術生成動態報告的方法、裝置與系統用來定制各種類型的動態報告,適用于提前注冊、在報告模板和數據模型預先定義的前提下實施。圖1是根據本專利技術實施例的生成動態報告的方法的主要步驟的流程圖。如圖1所示,本專利技術的生成動態報告的方法主要包括如下步驟步驟SlOl :接收客戶端請求生成動態報告的報告基礎信息。在該步驟中,客戶端請求生成動態報告的報告基礎信息可以包括與報告有關的業務數據、報告標識號、租戶信息、用戶信息等信息,還可以包括能獲取與報告有關的業務數據的用戶ID等信息。其中,報告標識號是指在提前注冊該種類型的報告時,為了識別為其定義的報告模板和數據模型而分配的識別號碼。根據報告標識號,就能知道本次生成動態報告所用的報告模板和數據模型。步驟S103 :對報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據。在該步驟中,當接收到生成動態報告的報告本文檔來自技高網...
【技術保護點】
一種生成動態報告的方法,其特征在于,包括:接收客戶端請求生成動態報告的報告基礎信息;對所述報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據;調用預定義的Word報告模板;根據所述Word報告模板中預設的動態標簽與所述Xml數據的對應關系,將所述Word報告模板與所述Xml數據結合生成Word動態報告;將生成的所述Word動態報告轉化成符合所述客戶端請求的報告類型的最終動態報告。
【技術特征摘要】
1.一種生成動態報告的方法,其特征在于,包括 接收客戶端請求生成動態報告的報告基礎信息; 對所述報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據; 調用預定義的Word報告模板; 根據所述Word報告模板中預設的動態標簽與所述Xml數據的對應關系,將所述Word報告模板與所述Xml數據結合生成Word動態報告; 將生成的所述Word動態報告轉化成符合所述客戶端請求的報告類型的最終動態報生口 ο2.根據權利要求1所述的方法,其特征在于,所述接收客戶端請求生成動態報告的報告基礎信息之后還包括 生成報告ID號并返回給所述客戶端; 將所述報告ID號更新至數據庫。3.根據權利要求2所述的方法,其特征在于,所述方法還包括 根據預設的所述生成動態報告的處理過程與處理狀態之間的對應關系,確定本次報告ID號對應的生成動態報告的處理狀態; 將所述本次報告ID號對應的生成動態報告的處理狀態更新至數據庫。4.根據權利要求1所述的方法,其特征在于,對所述報告基礎信息進行數據解析之前還包括 將所述報告基礎信息存儲在本地磁盤隊列。5.根據權利要求1所述的方法,其特征在于,所述方法還包括 將所述最終動態報告分別存儲到本地磁盤目錄和遠程服務器; 將所述最終動態報告的存儲路徑更新至數據庫。6.根據權利要求1至5中任一項所述的方法,其特征在于,所述方法還包括 將所述最終動態報告的報告元素版本信息分別更新至數據庫和緩存。7.—種生成動態報告的裝置,其特征在于,包括 接收模塊,用于接收客戶端請求生成動態報告的報告基礎信息; 解析模塊,用于對所述報告基礎信息進行數據解析,并根據預定義的數據模型生成Xml數據; 調用模塊...
【專利技術屬性】
技術研發人員:閆觀濤,劉生權,
申請(專利權)人:北京北森測評技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。