本申請涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于excel的數(shù)據(jù)圖表繪制方法及相關(guān)裝置。
背景技術(shù):
Excel是一種常用的辦公軟件,其不僅可以用于記錄數(shù)據(jù),還通過內(nèi)置有排序、篩選、多種函數(shù)計算、圖表繪制等控件實現(xiàn)相應(yīng)的功能。
特別的,圖表繪制控件中每種類型的圖表(如折線圖、餅狀圖、柱狀圖等)的具體樣式都是固定的,圖表繪制控件被調(diào)用后直接以默認(rèn)樣式繪制相應(yīng)類型的圖表;如果用戶對圖表中的配色、線型、字體等樣式不滿意,只能在圖表繪制完成后再逐個調(diào)出相應(yīng)的樣式設(shè)置窗口進(jìn)行修改。
可見,現(xiàn)有技術(shù)條件下,基于Excel生成滿足用戶需求的個性化圖表的操作過程繁瑣、效率低。因此,如何提高圖表繪制效率成為一個亟需解決的問題。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本申請?zhí)峁┮环Nxx方法及相關(guān)裝置。
本申請第一方面提供一種基于excel的圖表繪制方法;該方法包括:
確定excel文件中具有圖表繪制需求的數(shù)據(jù)源以及目標(biāo)圖表類型;
分析所述數(shù)據(jù)源和目標(biāo)圖表類型,以確定待繪制元素的種類及個數(shù),以及每種待繪制元素對應(yīng)的屬性種類;
獲取各個待繪制元素對應(yīng)的各種屬性的屬性值;
根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。
結(jié)合第一方面,在第一方面的第一種可行的實施方式中,所述圖表繪制方法還包括:
將所述目標(biāo)圖表存儲為圖表模板。
結(jié)合第一方面,或者第一方面的第一種可行的實施方式,所述圖表繪制方法還包括:
在接收到圖表修改指令后,確定待修改屬性以及目標(biāo)屬性值;
將目標(biāo)圖表中的所述待修改屬性的取值修改為所述目標(biāo)屬性值。
本申請第二方面提供一種基于excel的圖表繪制裝置;該裝置包括:
確定單元,用于確定excel文件中具有圖表繪制需求的數(shù)據(jù)源以及目標(biāo)圖表類型;
分析單元,用于分析所述數(shù)據(jù)源和目標(biāo)圖表類型,以確定待繪制元素的種類及個數(shù),以及每種待繪制元素對應(yīng)的屬性種類;
獲取單元,用于獲取各個待繪制元素對應(yīng)的各種屬性的屬性值;
繪制單元,用于根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。
結(jié)合第二方面,在第二方面的第一種可行的實施方式中,所述圖表繪制裝置還包括:
存儲控制單元,用于將所述繪制單元得到的所述目標(biāo)圖表存儲為圖表模板。
結(jié)合第二方面,或者第二方面的第一種可行的實施方式,所述圖表繪制裝置還包括:
修改單元,用于在接收到圖表修改指令后,確定待修改屬性以及目標(biāo)屬性值,并將目標(biāo)圖表中的所述待修改屬性的取值修改為所述目標(biāo)屬性值。
由以上技術(shù)方案可知,本申請實施例在需要繪制圖表時,首先確定數(shù)據(jù)源和目標(biāo)圖表類型,再通過分析數(shù)據(jù)源和目標(biāo)圖表類型確定需要繪制的元素種類、個數(shù),進(jìn)而確定各個元素對應(yīng)的屬性,并獲取用戶輸入的各個屬性的屬性值,最后根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。由于在目標(biāo)圖表生成前已經(jīng)統(tǒng)一對相關(guān)屬性進(jìn)行設(shè)置,故繪制得到的圖表就是滿足用戶需求的目標(biāo)圖表,不需要在繪制出圖表后再逐項修改,從而可以減少用戶的工作量,提高圖表繪制效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
圖1是本申請實施例提供的一種基于excel的圖表繪制方法的流程圖。
圖2是本申請實施例提供的屬性設(shè)置窗口的示意圖。
圖3是本申請實施例提供的一種基于excel的圖表繪制裝置的框圖。
圖4是本申請實施例提供的另一種基于excel的圖表繪制裝置的框圖。
具體實施方式
這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1為本申請實施例提供的一種基于excel的圖表繪制方法的流程圖,該方法應(yīng)用于excel軟件。如圖1所示,該方法包括以下步驟。
S11、確定excel文件中具有圖表繪制需求的數(shù)據(jù)源以及目標(biāo)圖表類型。
上述數(shù)據(jù)源(SourceDate)即待繪制的目標(biāo)圖表所要展示的原始數(shù)據(jù),例如excel文件中記錄的某商品連續(xù)6個月內(nèi)每日的銷售額。
對于目標(biāo)圖表類型,可以根據(jù)圖表繪制指令中的相應(yīng)信息確定,也可以通過發(fā)送圖表類型設(shè)置通知,來提示用戶輸入目標(biāo)圖表類型。其中,目標(biāo)圖表類型包括折線圖、條形圖、三維餅狀圖、三維柱狀圖等多種。
實際應(yīng)用中,用戶可以通過Excel中常用的宏語言VBA(即Visual Basic for Applications)編寫相應(yīng)的設(shè)置指令,來設(shè)置數(shù)據(jù)源即目標(biāo)圖表類型,從而用于執(zhí)行圖表繪制的處理器可以通過分析相關(guān)設(shè)置指令來確定待繪制圖表的數(shù)據(jù)源即類型。例如,基于VBA語言,可以通過setSourceDate設(shè)置數(shù)據(jù)源。
S12、分析所述數(shù)據(jù)源和目標(biāo)圖表類型,以確定待繪制元素的種類及個數(shù),以及每種待繪制元素對應(yīng)的屬性種類。
假設(shè)數(shù)據(jù)源為excel文件中記錄的某商品連續(xù)6個月內(nèi)每日的銷售額,目標(biāo)圖表類型為折線型,則分析可知待繪制元素至少包括如下4項:
1)標(biāo)題文字:用于表示目標(biāo)圖表所展示的數(shù)據(jù)內(nèi)容,如“1月至6月A商品日銷售額折線圖”;
2)直角坐標(biāo)系:即折線圖所在坐標(biāo)系,橫坐標(biāo)為日期、縱坐標(biāo)為銷售額;
3)與月份一一對應(yīng)的折線:共6條,每條折線分別表示對應(yīng)月份的提銷售額變化情況;
4)圖例:用于標(biāo)注折線與月份的對應(yīng)關(guān)系。
在確定待繪制元素的種類及個數(shù)后,進(jìn)一步確定各個待繪制元素對應(yīng)的屬性種類。例如,對于上述標(biāo)題文字和圖例等文字類元素,對應(yīng)的屬性包括文字內(nèi)容、字體(fontname)、字號(fontsize)、顏色(fontcolor)等;對于直角坐標(biāo)系,對應(yīng)的屬性 包括坐標(biāo)軸顏色、粗細(xì)等;對于6條折線,對應(yīng)的屬性包括顏色(bordercolor)、線型(borderstyle)、粗細(xì)(bordersize)等。
S13、獲取各個待繪制元素對應(yīng)的各種屬性的屬性值。
在本申請一個可行的實施例中,可以通過用戶輸入的包含屬性值的指令代碼來獲取各個屬性值;其中,該指令代碼可以為通過VBA編寫的宏代碼。
例如,設(shè)置圖表背景顏色的指令可以為:
Sub SetMyColor()
ActiveWorkbook.Colors(1)=RGB(0,246,56)
End Sub
由上述指令可以分析得到圖表北背景顏色的RGB數(shù)值分別為0、246、56,也即得到圖表背景顏色的屬性值。又如,對于字體設(shè)置指令,可以分析得到諸如“宋體”“Times New Roman”等字體名稱中的至少一種,即得到字體屬性值。
在本申請另一個可行的實施例中,還可以在確定屬性種類后生成并展示屬性設(shè)置窗口,以接收用戶輸入的屬性值。如圖2所示,該屬性設(shè)置窗口中通過不同的標(biāo)簽展示各個元素所需設(shè)置的屬性,每個屬性預(yù)設(shè)有一個默認(rèn)值,用戶只需根據(jù)自己想要改變的屬性選擇對應(yīng)的標(biāo)簽進(jìn)行設(shè)置,用戶未設(shè)置的屬性值直接采用默認(rèn)值。
S14、根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。
數(shù)據(jù)源、目標(biāo)圖表類型、待繪制元素種類及個數(shù),各個待繪制元素的屬性種類及屬性值確定后,即可以執(zhí)行圖表繪制操作,得到符合用戶需求的目標(biāo)圖表。
由以上技術(shù)方案可知,本申請實施例在需要繪制圖表時,首先確定數(shù)據(jù)源和目標(biāo)圖表類型,再通過分析數(shù)據(jù)源和目標(biāo)圖表類型確定需要繪制的元素種類、個數(shù),進(jìn)而確定各個元素對應(yīng)的屬性,并獲取用戶輸入的各個屬性的屬性值,最后根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。由于在目標(biāo)圖表生成前已經(jīng)統(tǒng)一對相關(guān)屬性進(jìn)行設(shè)置,故繪制得到的圖表就是滿足用戶需求的目標(biāo)圖表,不需要在繪制出圖表后再逐項修改,從而可以減少用戶的工作量,提高圖表繪制效率。
在本申請一個可行的實施例中,在得到目標(biāo)圖表后,還可以執(zhí)行如下操作:將所述目標(biāo)圖表存儲為圖表模板。
上述圖表模板可以采用后綴為.xlt的文件。目標(biāo)圖表存儲為圖表模板后,如果需要 將另一組數(shù)據(jù)繪制為相同樣式的圖表,則直接調(diào)用該圖表模板,并相應(yīng)修改數(shù)據(jù)源,即可得到另一組數(shù)據(jù)對應(yīng)的目標(biāo)圖表。
因此,本申請實施例可以實現(xiàn)用戶自定義圖表的復(fù)用,從而可以進(jìn)一步提高圖表繪制效率。
在本申請另一個可行的實施例中,在得到目標(biāo)圖表后,還可以執(zhí)行如下操作:
在接收到圖表修改指令后,確定待修改屬性以及目標(biāo)屬性值;
將目標(biāo)圖表中的所述待修改屬性的取值修改為所述目標(biāo)屬性值。
與上述步驟S13中所述的獲取各個屬性值類似,本實施例中確定待修改屬性及目標(biāo)屬性值的具體實施方式也可以包括:調(diào)用屬性設(shè)置窗口或者接收并分析屬性設(shè)置指令兩種;即在接收到圖表修改指令后,可以向用戶展示屬性設(shè)置窗口,并接收用戶通過該屬性設(shè)置窗口輸入的針對任意一種或幾種屬性的修改信息,包括待修改的屬性名稱以及目標(biāo)屬性值(即相應(yīng)屬性修改后的屬性值);或者,直接接收用戶輸入的屬性設(shè)置指令,從中分析得到待修改的屬性名稱以及目標(biāo)屬性值。
另外,對用直接調(diào)用上述圖表模板而得到目標(biāo)圖表的情況,也可通過上述方法對部分屬性進(jìn)行修改。
相對于現(xiàn)有技術(shù)中修改圖表樣式時需要逐個調(diào)出各個待修改元素或?qū)傩缘脑O(shè)置窗口,本申請實施例中所有元素的所有屬性均統(tǒng)一設(shè)置于同一個屬性設(shè)置窗口,使得用戶可以同時對多個屬性進(jìn)行修改,方便快捷。
圖3為本申請實施例提供的一種基于excel的圖表繪制裝置的結(jié)構(gòu)框圖。參照圖3,該裝置包括:確定單元110、分析單元120、獲取單元130和繪制單元140。
該確定單元110被配置為,確定excel文件中具有圖表繪制需求的數(shù)據(jù)源以及目標(biāo)圖表類型。
該分析單元120被配置為,分析所述數(shù)據(jù)源和目標(biāo)圖表類型,以確定待繪制元素的種類及個數(shù),以及每種待繪制元素對應(yīng)的屬性種類。
該獲取單元130被配置為,獲取各個待繪制元素對應(yīng)的各種屬性的屬性值。
該繪制單元140被配置為,根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。
由以上技術(shù)方案可知,本申請實施例提供的圖表繪制裝置在需要繪制圖表時,首先確定數(shù)據(jù)源和目標(biāo)圖表類型,再通過分析數(shù)據(jù)源和目標(biāo)圖表類型確定需要繪制的元素種類、個數(shù),進(jìn)而確定各個元素對應(yīng)的屬性,并獲取用戶輸入的各個屬性的屬性值,最后 根據(jù)各個待繪制元素的種類、個數(shù)及對應(yīng)的各種屬性的屬性值執(zhí)行圖表繪制操作,得到目標(biāo)圖表。由于在目標(biāo)圖表生成前已經(jīng)統(tǒng)一對相關(guān)屬性進(jìn)行設(shè)置,故繪制得到的圖表就是滿足用戶需求的目標(biāo)圖表,不需要在繪制出圖表后再逐項修改,從而可以減少用戶的工作量,提高圖表繪制效率。
參照圖4,在本申請一個可行的實施例中,上述圖表繪制裝置還包括:存儲控制單元150。
該存儲控制單元150被配置為,將所述繪制單元得到的所述目標(biāo)圖表存儲為圖表模板。
基于上述存儲控制單元150,如果需要將另一組數(shù)據(jù)繪制為相同樣式的圖表,則直接調(diào)用該圖表模板,并相應(yīng)修改數(shù)據(jù)源,即可得到另一組數(shù)據(jù)對應(yīng)的目標(biāo)圖表。因此,本申請實施例可以實現(xiàn)用戶自定義圖表的復(fù)用,從而可以進(jìn)一步提高圖表繪制效率。
另外,仍參照圖4,上述圖表繪制裝置還可以包括:修改單元160。
該修改單元160被配置為,在接收到圖表修改指令后,確定待修改屬性以及目標(biāo)屬性值,并將目標(biāo)圖表中的所述待修改屬性的取值修改為所述目標(biāo)屬性值。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
另外,本申請實施例還提供了一種計算機存儲介質(zhì),例如可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等;該計算機存儲介質(zhì)中存儲有程序,當(dāng)所述存儲介質(zhì)中的程序由服務(wù)器的處理器執(zhí)行時,使得服務(wù)器能夠執(zhí)行上述方法實施例中記載的基于excel的圖表繪制方法的部分或全部步驟。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本申請未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。