一種報表生成方法及報表引擎的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及報表處理技術(shù)領(lǐng)域,具體涉及一種報表生成方法及報表引擎。
【背景技術(shù)】
[0002]報表可用表格、圖表等形式顯示數(shù)據(jù),在數(shù)據(jù)統(tǒng)計、匯報等場景下應(yīng)用較廣;報表生成是指將報表需要顯示的數(shù)據(jù),填充入報表模板的過程,由于報表的形式多樣,目前也存在多樣化的報表模板。
[0003]報表模板主要由報表引擎(報表引擎可以服務(wù)器形式存在)管理,用戶希望生成報表時,可向報表引擎請求相應(yīng)的報表模板,用戶再將數(shù)據(jù)填充入所請求的報表模板中;可以看出,報表引擎目前主要支持報表模板的存儲管理,報表的生成過程主要還是基于用戶填充數(shù)據(jù)的操作,報表引擎并無法支持對報表的自動生成。
[0004]基于此,現(xiàn)有的報表生成過程存在的問題為:報表引擎的管理功能并不完善,無法實現(xiàn)報表的自動生成,導(dǎo)致報表生成涉及的工作量較大。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實施例提供一種報表生成方法及報表引擎,以完善報表引擎的管理功能,實現(xiàn)報表的自動生成,降低報表生成涉及的工作量。
[0006]為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術(shù)方案:
[0007]一種報表生成方法,包括:
[0008]接收用戶提交的報表生成請求,所述報表生成請求包括報表類型;
[0009]根據(jù)預(yù)置的各報表模板對應(yīng)的報表類型,提取所述報表類型相應(yīng)的報表模板;所述報表模板包括多個填充數(shù)據(jù)的報表單元格,報表單元格設(shè)置有所填充數(shù)據(jù)的數(shù)據(jù)標(biāo)識及數(shù)據(jù)處理格式;
[0010]對于各報表單元格,根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識從數(shù)據(jù)源中提取相應(yīng)的數(shù)據(jù),并填充入所述報表單元格;
[0011]根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)處理格式,對所述填充的數(shù)據(jù)進行處理,生成報表;
[0012]將所生成的報表反饋給所述用戶。
[0013]其中,所述數(shù)據(jù)源存儲有待填充數(shù)據(jù)及待填充數(shù)據(jù)對應(yīng)的數(shù)據(jù)標(biāo)識;
[0014]所述根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識從所述數(shù)據(jù)源中提取相應(yīng)的數(shù)據(jù)包括:
[0015]根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識,從所述數(shù)據(jù)源中提取與所述數(shù)據(jù)標(biāo)識對應(yīng)的待填充數(shù)據(jù),所提取的待填充數(shù)據(jù)為填充入所述報表單元格的數(shù)據(jù)。
[0016]其中,所述報表生成請求還包括:指示生成報表所用數(shù)據(jù)源的信息;所述數(shù)據(jù)源與所述指示生成報表所用數(shù)據(jù)源的信息相應(yīng)。
[0017]其中,所述數(shù)據(jù)處理格式包括:數(shù)據(jù)轉(zhuǎn)換格式;
[0018]所述根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)處理格式,對所述填充的數(shù)據(jù)進行處理包括:
[0019]根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)轉(zhuǎn)換格式,對所述填充的數(shù)據(jù)進行數(shù)據(jù)格式的轉(zhuǎn)換。
[0020]其中,所述數(shù)據(jù)處理格式包括:函數(shù)公式;
[0021]所述根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)處理格式,對所述填充的數(shù)據(jù)進行處理包括:
[0022]根據(jù)所述報表單元格設(shè)置的函數(shù)公式,對所述填充的數(shù)據(jù)進行函數(shù)運算。
[0023]本發(fā)明實施例還提供一種報表引擎,包括:
[0024]請求接收模塊,用于接收用戶提交的報表生成請求,所述報表生成請求包括報表類型;
[0025]報表模板提取模塊,用于根據(jù)預(yù)置的各報表模板對應(yīng)的報表類型,提取所述報表類型相應(yīng)的報表模板;所述報表模板包括多個填充數(shù)據(jù)的報表單元格,報表單元格設(shè)置有所填充數(shù)據(jù)的數(shù)據(jù)標(biāo)識及數(shù)據(jù)處理格式;
[0026]數(shù)據(jù)填充模塊,用于對于各報表單元格,根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識從數(shù)據(jù)源中提取相應(yīng)的數(shù)據(jù),并填充入所述報表單元格;
[0027]數(shù)據(jù)處理模塊,用于根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)處理格式,對所述填充的數(shù)據(jù)進行處理,生成報表;
[0028]報表反饋模塊,用于將所生成的報表反饋給所述用戶。
[0029]其中,所述數(shù)據(jù)源存儲有待填充數(shù)據(jù)及待填充數(shù)據(jù)對應(yīng)的數(shù)據(jù)標(biāo)識;
[0030]所述數(shù)據(jù)填充模塊包括:
[0031]待填充數(shù)據(jù)確定單元,用于根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識,從所述數(shù)據(jù)源中提取與所述數(shù)據(jù)標(biāo)識對應(yīng)的待填充數(shù)據(jù),所提取的待填充數(shù)據(jù)為填充入所述報表單元格的數(shù)據(jù)。
[0032]其中,所述報表生成請求還包括:指示生成報表所用數(shù)據(jù)源的信息;
[0033]所述報表引擎還包括:
[0034]數(shù)據(jù)源確定模塊,用于確定與所述指示生成報表所用數(shù)據(jù)源的信息相應(yīng)的數(shù)據(jù)源。
[0035]其中,所述數(shù)據(jù)處理格式包括:數(shù)據(jù)轉(zhuǎn)換格式;
[0036]所述數(shù)據(jù)處理模塊包括:
[0037]格式轉(zhuǎn)換單元,用于根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)轉(zhuǎn)換格式,對所述填充的數(shù)據(jù)進行數(shù)據(jù)格式的轉(zhuǎn)換。
[0038]其中,所述數(shù)據(jù)處理格式包括:函數(shù)公式;
[0039]所述數(shù)據(jù)處理模塊包括:
[0040]函數(shù)運算單元,用于根據(jù)所述報表單元格設(shè)置的函數(shù)公式,對所述填充的數(shù)據(jù)進行函數(shù)運算。
[0041]基于上述技術(shù)方案,本發(fā)明實施例提供的報表生成方法,包括:接收用戶提交的報表生成請求,所述報表生成請求包括報表類型;根據(jù)預(yù)置的各報表模板對應(yīng)的報表類型,提取所述報表類型相應(yīng)的報表模板,所述報表模板包括多個填充數(shù)據(jù)的報表單元格,報表單元格設(shè)置有所填充數(shù)據(jù)的數(shù)據(jù)標(biāo)識及數(shù)據(jù)處理格式;對于各報表單元格,根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)標(biāo)識從數(shù)據(jù)源中提取相應(yīng)的數(shù)據(jù),并填充入所述報表單元格;根據(jù)所述報表單元格設(shè)置的數(shù)據(jù)處理格式,對所述填充的數(shù)據(jù)進行處理,生成報表;將所生成的報表反饋給所述用戶??梢钥闯觯景l(fā)明實施例為報表模板的報表單元格設(shè)置所填充數(shù)據(jù)的數(shù)據(jù)標(biāo)識及數(shù)據(jù)處理格式,通過報表單元格設(shè)置的數(shù)據(jù)標(biāo)識,可從數(shù)據(jù)源中提取到相應(yīng)的數(shù)據(jù),實現(xiàn)數(shù)據(jù)至報表模板的自動填入,通過報表單元格設(shè)置的數(shù)據(jù)處理格式,可實現(xiàn)報表單元格所填充數(shù)據(jù)的自動處理,完成在報表模板中自動填充數(shù)據(jù)和自動處理數(shù)據(jù)的過程,實現(xiàn)報表的自動生成;由于本發(fā)明實施例提供的報表生成方法,可實現(xiàn)報表的自動生成,因此可降低報表生成涉及的工作量,并完善報表引擎的管理功能。
【附圖說明】
[0042]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0043]圖1為本發(fā)明實施例提供的報表生成方法的流程圖;
[0044]圖2為本發(fā)明實施例提供的報表模板中報表單元格的示意圖;
[0045]圖3為本發(fā)明實施例提供的報表生成方法的另一流程圖;
[0046]圖4為本發(fā)明實施例提供的報表生成方法的再一流程圖;
[0047]圖5為本發(fā)明實施例提供的報表生成方法的又一流程圖;
[0048]圖6為本發(fā)明實施例提供的報表引擎的結(jié)構(gòu)框圖;
[0049]圖7為本發(fā)明實施例提供的數(shù)據(jù)填充模塊的結(jié)構(gòu)框圖;
[0050]圖8為本發(fā)明實施例提供的報表引擎的另一結(jié)構(gòu)框圖;
[0051]圖9為本發(fā)明實施例提供的數(shù)據(jù)處理模塊的結(jié)構(gòu)框圖;
[0052]圖10為本發(fā)明實施例提供的數(shù)據(jù)處理模塊的另一結(jié)構(gòu)框圖;
[0053]圖11為本發(fā)明實施例提供的報表反饋模塊的結(jié)構(gòu)框圖。
【具體實施方式】
[0054]