本發(fā)明涉及數(shù)據(jù)處理技術領域,尤其涉及一種樣式自定義的web報表實現(xiàn)方法。
背景技術:
說到報表,人們對它并不陌生,各大小企業(yè)的正常業(yè)務運轉,都離不開報表。企業(yè)通過各種報表來了解企業(yè)的生產(chǎn)情況、銷售情況、盈利情況,為企業(yè)后期的生產(chǎn)以及員工考核提供依據(jù)。
現(xiàn)有的報表存在以下問題:報表只提供了一種或幾種固定的數(shù)據(jù)處理模式及報表樣式,當計算方法及報表樣式需變化時,由于技術水平限制,用戶無法操作,只能有開發(fā)人員來完成,報表維護困難。
隨著需求的不斷變化,報表的樣式經(jīng)常需要變動,現(xiàn)在的部分報表僅提供了一種或幾種固定樣式的報表模板供用戶使用,即使有些報表系統(tǒng)支持用戶自行變更報表樣式,但是技術性較強,操作復雜,普通用戶很難實現(xiàn)根據(jù)自己的需求變更報表樣式。
技術實現(xiàn)要素:
本發(fā)明目的在于提供一種可根據(jù)用戶自定義的查詢內容及查詢時間進行數(shù)據(jù)查詢、根據(jù)用戶定義的公式進行數(shù)據(jù)分析處理、用戶可以根據(jù)自己的需求自由的設計報表的布局及樣式的web報表實現(xiàn)方法。
為實現(xiàn)上述目的,采用了以下技術方案:本發(fā)明所述方法步驟如下:
步驟1,數(shù)據(jù)查詢:根據(jù)用戶選擇的報表名稱、查詢時間和報表類型,動態(tài)生成sql語句,在數(shù)據(jù)庫中執(zhí)行sql語句,返回原始數(shù)據(jù)集;
所述的報表類型包括周期型報表和自定義多區(qū)間分段查詢報表;
所述周期型報表包括但不限于:甲班組報表,乙班組報表,丙班組報表,日報表,月報表,年報表等;
所述自定義區(qū)間查詢報表包括但不限于:尖段報表,峰段報表,平段報表,谷段報表等。
步驟2,數(shù)據(jù)分析計算:查詢出報表中所需數(shù)據(jù)條目對應的公式,對公式進行解析,利用解析完的公式對所述原始數(shù)據(jù)集進行計算,生成報表結果數(shù)據(jù)集;所述結果數(shù)據(jù)集為報表數(shù)據(jù)項的最終結果;
步驟3,報表配置:自動創(chuàng)建一個excel文件,將所述結果數(shù)據(jù)集自動填充至excel中,將文件響應到用戶瀏覽器,用戶根據(jù)需求在excel中自由的設計報表的布局及樣式;
步驟4,報表呈現(xiàn):服務器利用所述結果數(shù)據(jù)集對模板文件中的對應數(shù)據(jù)項進行更新,生成報表,將生成的報表轉換成html或excel文件,響應到用戶瀏覽器,完成報表呈現(xiàn);報表呈現(xiàn)形式可以是其他形式包括但不限于:圖片格式、pdf文檔等。
步驟5,報表樣式修改:用戶需對報表模板進行更改時,將原始模板以excel文件形式響應到用戶瀏覽器,用戶根據(jù)需求對報表的樣式及布局等重新設計后,保存生成新的報表模板,上傳至服務器,完成模板修改。用戶需以管理員的身份登錄系統(tǒng),認證成功后,方可進行報表修改。
進一步的,步驟2中,所述公式由用戶自定義編輯而成,存儲在數(shù)據(jù)庫的公式表中,根據(jù)用戶所選報表,動態(tài)生成sql語句,自動查詢出該報表涉及的公式,進行公式解析后,對所述原始數(shù)據(jù)集中的數(shù)據(jù)進行計算,生成結果數(shù)據(jù)集。
所述的公式中涉及運算包括加、減、乘、除、括號、平方等;
進一步的,步驟3中,用戶發(fā)起報表查詢請求,系統(tǒng)判斷報表模板不存在時,自動創(chuàng)建一個excel文件,將所述結果數(shù)據(jù)集填充至文件中,響應到用戶瀏覽器,用戶也可自行下載。
根據(jù)下載的excel文件,用戶對文件中的結果數(shù)據(jù)項進行引用,根據(jù)需求在excel中完成報表布局及樣式的設計;
所述樣式包括位置、顏色、字體、字號、邊框、圖表等;
所述圖表包括柱形圖、條形圖、折線圖、面積圖、餅圖等;
用戶保存配置好的報表模板,通過模板上傳接口上傳,完成報表配置。
步驟3中,用戶根據(jù)需求在excel中自由的設計報表的布局及樣式,所述自由是指用戶已經(jīng)拿到了數(shù)據(jù),可以根據(jù)自己的意愿,任意設計報表的展示樣式。
與現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點:用戶可根據(jù)需求自由設計報表的布局及樣式,真正意義上滿足了用戶自定義報表的需求,同時該方法操作簡單,提高了報表的生成效率,且易于報表的管理、維護和使用。
附圖說明
圖1為本發(fā)明方法的流程圖。
圖2為本發(fā)明方法的數(shù)據(jù)庫模型圖。
圖3為本發(fā)明方法的數(shù)據(jù)流向圖。
圖4為本發(fā)明方法實施例中報表查詢界面示意圖。
圖5為本發(fā)明方法實施例中報表數(shù)據(jù)查詢流程圖。
圖6為本發(fā)明方法實施例中報表數(shù)據(jù)分析計算流程圖。
圖7為本發(fā)明方法實施例中報表配置流程圖。
圖8為本發(fā)明方法實施例中報表呈現(xiàn)流程圖。
圖9為本發(fā)明方法實施例中報表維護流程圖。
具體實施方式
下面結合附圖對本發(fā)明做進一步說明:
參照圖1,本發(fā)明方法步驟如下:
101,數(shù)據(jù)查詢:根據(jù)用戶選擇的報表內容、查詢時間和報表類型,動態(tài)生成sql語句,從數(shù)據(jù)庫中查詢出報表生成所需要的原始數(shù)據(jù)集;
102,數(shù)據(jù)分析計算:查詢出報表中所需數(shù)據(jù)條目對應的公式,對公式進行解析,利用解析完的公式對原始數(shù)據(jù)集進行計算,生成報表結果數(shù)據(jù)集;
103,智能判斷報表狀態(tài):若報表未配置,則進入步驟104、105,若報表已經(jīng)配置,則直接進入步驟106;
104,自動創(chuàng)建一個excel文件,將結果數(shù)據(jù)集填充至excel中,保存文件,將文件響應到用戶瀏覽器;
105,報表配置:用戶接收到excel文件,根據(jù)需求在excel中自由的對報表的樣式、布局等進行設計,報表模板設計好后,通過模板上傳接口上傳,完成報表模板配置;
106,報表生成:服務器利用所述結果數(shù)據(jù)集對模板文件中的對應數(shù)據(jù)項進行更新,生成報表;
107,判斷是否修改報表樣式,若不需修改報表樣式,則進入步驟108,否則進入步驟109;
108,報表呈現(xiàn):將生成的報表轉換成html或excel文件,響應到用戶瀏覽器,完成報表呈現(xiàn);
109,報表樣式修改:服務器將原始報表模板以excel文件形式響應到瀏覽器,并開放模板上傳接口,用戶根據(jù)需求對模板樣式及布局重新設計后,上傳至服務器,完成報表模板修改。
參照圖2,圖2為本發(fā)明方法的數(shù)據(jù)庫模型圖:
201,報表名稱記錄表:用于存儲用戶添加的所有報表的名稱;
202,報表公式記錄表:用于存儲報表中數(shù)據(jù)項以及其計算公式;
203,歷史數(shù)據(jù)記錄表:用于存儲報表中數(shù)據(jù)項的原始數(shù)據(jù),以記錄的時間為主鍵,該時間和所有數(shù)據(jù)項共同組成一條記錄;
204,計算結果臨時記錄表:用于存儲計算完畢后的報表數(shù)據(jù)結果。
圖3為本發(fā)明提供的樣式自定義的web報表的數(shù)據(jù)流向圖:
301,數(shù)據(jù)位于數(shù)據(jù)庫中的歷史數(shù)據(jù)記錄表中;
302,根據(jù)查詢條件生成sql語句并執(zhí)行,返回報表所需原始數(shù)據(jù)集,存放在服務器內存中;
303,將報表所需公式查詢出并解析,利用公式對原始數(shù)據(jù)集進行分析計算,生成結果數(shù)據(jù)集,將該數(shù)據(jù)集存入數(shù)據(jù)庫中的計算結果臨時記錄表中;
304,讀取數(shù)據(jù)庫計算結果臨時記錄表中的報表計算結果,將數(shù)據(jù)填充至excel模板文件中;
305,將報表轉換成html響應到客戶端瀏覽器;
306,將報表轉換成excel文件響應到客戶端瀏覽器。
圖4為本發(fā)明實施例中報表查詢界面示意圖:
401,為查詢條件區(qū)域,也可稱為功能區(qū),
4011,為周期型報表查詢區(qū)域,選擇報表名稱,輸入查詢日期,點擊查詢按鈕提交查詢;
4012,為自定義區(qū)間查詢操作區(qū),選擇報表名稱,輸入查詢開始時間和結束時間,點擊查詢按鈕提交查詢;
4012,為excel報表導出選擇區(qū),選中復選框即支持excel報表導出,該操作對上述兩種報表形式均生效。
圖5為圖1中步驟101數(shù)據(jù)查詢的一種實施例的流程圖:
1011,提取用戶請求中的報名名稱、查詢日期、報表類型作為查詢條件;
1012,根據(jù)查詢條件生成sql查詢語句;
1013,在數(shù)據(jù)庫中執(zhí)行sql語句;
1014,返回所查詢的原始數(shù)據(jù)集。
圖6為圖1中步驟102數(shù)據(jù)分析計算的一種實施例的流程圖:
1021,根據(jù)報表名稱查詢出該報表所需計算公式;
1022,對計算公式進行解析;
1023,利用解析后的公式對原始數(shù)據(jù)集進行分析計算;
1024,生成計算結果數(shù)據(jù)集;
1025,將結果數(shù)據(jù)集存入數(shù)據(jù)庫中的計算結果臨時記錄表中。
圖7為圖1中步驟104、105報表配置的一種實施例的流程圖:
1041,自動創(chuàng)建一個excel文件;
1042,從數(shù)據(jù)庫中讀取出結果數(shù)據(jù)集并填充至新建的excel文件中;
1043,將excel文件響應到用戶瀏覽器;
1051,用戶接收到excel文件,根據(jù)需求在excel中自由的對報表的樣式、布局等進行設計;
1052,通過模板上傳接口上傳,將設計好的模板文件上傳至服務器,完成報表模板配置。
圖8為圖1中步驟108報表呈現(xiàn)的一種實施例的流程圖:
1081,對報表的數(shù)據(jù)項進行更新,生成報表;
1082,根據(jù)用戶需求,將報表轉換成html/excel文件;
1083,將html/excel文件響應到用戶瀏覽器,完成報表呈現(xiàn)。
圖9為圖1中步驟109報表維護的一種實施例的流程圖:
1091,將原始報表模板以excel文件形式響應到瀏覽器;
1092,服務器開放模板上傳接口;
1093,用戶根據(jù)需求對模板的樣式、布局等重新設計;
1094,將更新后的模板,重新上傳至服務器,完成報表修改。
綜上所述,本發(fā)明提供的一種樣式自定義的web報表實現(xiàn)方法,其優(yōu)點在于:報表的配置及使用流程由服務器智能引導完成,大大降低了報表的使用難度,用戶使用時操作簡單;報表的模板配置由用戶在excel中自由完成,用戶可以根據(jù)需求自由設計報表的布局、樣式,添加各種報表元素,實現(xiàn)了真正意義上的報表自定義;本發(fā)明提供的一種樣式自定義的web報表實現(xiàn)方法,支持用戶隨時對報表模板進行修改,靈活方便。
以上所述的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進行限定,在不脫離本發(fā)明設計精神的前提下,本領域普通技術人員對本發(fā)明的技術方案做出的各種變形和改進,均應落入本發(fā)明權利要求書確定的保護范圍內。