專利名稱:一種智能更新數(shù)據(jù)透視表的方法及裝置的制作方法
技術領域:
本發(fā)明涉及一種電子表格的數(shù)據(jù)處理方法,特別是一種智能更新數(shù)據(jù)透視表的方法及裝置。
背景技術:
在電子表格中,經(jīng)常會使用數(shù)據(jù)透視表進行數(shù)據(jù)的處理及分析,它能基于指定的數(shù)據(jù)源,創(chuàng)建出不同視角的二維、三維統(tǒng)計表。它可以動態(tài)地改變版面布置,以便按照不同方式分析數(shù)據(jù),也可以重新安排行號、列標和頁字段。每一次改變版面布置時,數(shù)據(jù)透視表會立即按照新的布置重新計算數(shù)據(jù)。另外,如果原始數(shù)據(jù)發(fā)生更改,則可以更新數(shù)據(jù)透視表。而在實際使用中,指定的數(shù)據(jù)源往往是電子表格的某個區(qū)域,而且該區(qū)域的數(shù)據(jù)是在持續(xù)維護、不斷增長中,這個時候,更新透視表只能更新初始區(qū)域的數(shù)據(jù)變化,即更新創(chuàng)建透視表時所指定的數(shù)據(jù)源區(qū)域的數(shù)據(jù)變化,而無法將新增的數(shù)據(jù)一并統(tǒng)計進去。往往當數(shù)據(jù)源區(qū)域增加新的行或列時,需要手動更新數(shù)據(jù)源區(qū)域,才能將所有數(shù)據(jù)一起進行統(tǒng)計,這樣,不僅操作繁瑣,時效性差,而且因為用戶容易忘記手動更新數(shù)據(jù)源區(qū)域,導致統(tǒng)計結果不準確。
發(fā)明內容
為了解決上述的技術問題,本發(fā)明的目的是提供一種操作方便、時效性好及準確度高的智能更新數(shù)據(jù)透視表的方法。本發(fā)明的另一目的是還提供一種操作方便、時效性好及準確度高的智能更新數(shù)據(jù)透視表的裝置。本發(fā)明解決其技術問題所采用的技術方案是
一種智能更新數(shù)據(jù)透視表的方法,包括
51、檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;
52、根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;
53、檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;
54、從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);
55、使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;
56、根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。進一步,所述步驟S3,其具體為
檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中;
和/或
檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中。
進一步,所述步驟S6,其具體為
根據(jù)重新運算的結果對數(shù)據(jù)透視表的數(shù)據(jù)區(qū)域及圖表區(qū)域進行更新。本發(fā)明解決其技術問題所采用的另一技術方案是
一種智能更新數(shù)據(jù)透視表的裝置,包括
監(jiān)測模塊,用于檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;
第一數(shù)據(jù)獲取模塊,用于根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;
擴展模塊,用于檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;
第二數(shù)據(jù)獲取模塊,用于從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);
計算模塊,用于使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;
更新模塊,用于根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。進一步,所述擴展模塊包括
用于檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中的行擴展模塊;
及
用于檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中的列擴展模塊。本發(fā)明的有益效果是本發(fā)明的一種智能更新數(shù)據(jù)透視表的方法,在更新數(shù)據(jù)透視表的過程中,當自動檢測到數(shù)據(jù)源區(qū)域的相鄰區(qū)域有新增數(shù)據(jù)時,可自動將數(shù)據(jù)源區(qū)域進行擴展,從而基于擴展后的數(shù)據(jù)源區(qū)域對數(shù)據(jù)透視表進行更新。本方法操作方便,時效性好且準確度高。本發(fā)明的另一有益效果是本發(fā)明的一種智能更新數(shù)據(jù)透視表的裝置,在更新模塊更新數(shù)據(jù)透視表的過程中,若監(jiān)測模塊自動檢測到數(shù)據(jù)源區(qū)域的相鄰區(qū)域有新增數(shù)據(jù)時,擴展模塊自動將數(shù)據(jù)源區(qū)域進行擴展,從而更新模塊基于擴展后的數(shù)據(jù)源區(qū)域對數(shù)據(jù)透視表進行更新。本裝置操作方便,時效性好且準確度高。
下面結合附圖和實施例對本發(fā)明作進一步說明。圖1是本發(fā)明的一種智能更新數(shù)據(jù)透視表的方法的流程 圖2是本發(fā)明的一種智能更新數(shù)據(jù)透視表的裝置的結構框圖。
具體實施例方式參照圖1,本發(fā)明提供了一種智能更新數(shù)據(jù)透視表的方法,包括
51、檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;
52、根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令; 53、檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;
54、從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);
55、使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;
56、根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。進一步作為優(yōu)選的實施方式,所述步驟S3,其具體為
檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中;
和/或
檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中。進一步作為優(yōu)選的實施方式,所述步驟S6,其具體為
根據(jù)重新運算的結果對數(shù)據(jù)透視表的數(shù)據(jù)區(qū)域及圖表區(qū)域進行更新。上述方法在具體實施中,也可以先執(zhí)行步驟S3,再依次執(zhí)行步驟S1、S2、S4、S5、S6,即檢測到有數(shù)據(jù)源區(qū)域的相鄰區(qū)域有新增數(shù)據(jù)時,即對數(shù)據(jù)源區(qū)域進行擴展,之后若檢測到更新數(shù)據(jù)透視表的指令,直接獲取數(shù)據(jù)源區(qū)域及設置指令進行更新即可。這種方法,一旦有新增數(shù)據(jù),即進行更新,實際運行時會相對比較耗費計算機資源。因此,依次執(zhí)行步驟S1、S2、S3、S4、S5、S6的方法是本發(fā)明的一種智能更新數(shù)據(jù)透視表的方法的最優(yōu)選擇。下面結合具體實施例對本發(fā)明的一種智能更新數(shù)據(jù)透視表的方法做詳細說明
Al、當檢測到用戶更新數(shù)據(jù)透視表的指令時,例如“刷新”指令時,發(fā)送數(shù)據(jù)獲取指令; A2、檢測到數(shù)據(jù)獲取指令后,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視
表的設置指令,這里的設置指令包括數(shù)據(jù)匯總統(tǒng)計的項目、方法,以及相關圖表的繪制方法等;
A3、檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,包
括
檢測到數(shù)據(jù)源區(qū)域相鄰的列區(qū)域有新增數(shù)據(jù),則將新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中;
和/或
檢測到數(shù)據(jù)源區(qū)域相鄰的行區(qū)域有新增數(shù)據(jù),則將新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中;
A4、從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);
A5、使用獲取的設置指令對讀取的數(shù)據(jù)進行重新計算,例如使用獲取的數(shù)據(jù)匯總統(tǒng)計的項目、方法,以及相關圖表的繪制方法等對讀取的數(shù)據(jù)進行重新計算;
A6、根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新,包括更新透視表的數(shù)據(jù)區(qū)域及圖表區(qū)域。這里的更新方法,可以是將舊的數(shù)據(jù)區(qū)域及圖表區(qū)域等統(tǒng)計結果刪除,然后再采用相同的繪制方法繪制新的統(tǒng)計結果。參照圖2,本發(fā)明還提供了一種智能更新數(shù)據(jù)透視表的裝置,包括
監(jiān)測模塊,用于檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;
第一數(shù)據(jù)獲取模塊,用于根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;
擴展模塊,用于檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;
第二數(shù)據(jù)獲取模塊,用于從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);
計算模塊,用于使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;
更新模塊,用于根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。進一步作為優(yōu)選的實施方式,所述擴展模塊包括
用于檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中的行擴展模塊;
及
用于檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中的列擴展模塊。以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領域的技術人員在不違背本發(fā)明精神的前提下還可作出種種的等同變形或替換,這些等同的變型或替換均包含在本申請權利要求所限定的范圍內。
權利要求
1.一種智能更新數(shù)據(jù)透視表的方法,其特征在于,包括51、檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;52、根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;53、檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;54、從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);55、使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;56、根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。
2.根據(jù)權利要求1所述的一種智能更新數(shù)據(jù)透視表的方法,其特征在于,所述步驟S3, 其具體為檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中;和/或檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展,即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中。
3.根據(jù)權利要求1所述的一種智能更新數(shù)據(jù)透視表的方法,其特征在于,所述步驟S6, 其具體為根據(jù)重新運算的結果對數(shù)據(jù)透視表的數(shù)據(jù)區(qū)域及圖表區(qū)域進行更新。
4.一種智能更新數(shù)據(jù)透視表的裝置,其特征在于,包括監(jiān)測模塊,用于檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;第一數(shù)據(jù)獲取模塊,用于根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;擴展模塊,用于檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;第二數(shù)據(jù)獲取模塊,用于從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);計算模塊,用于使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;更新模塊,用于根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。
5.根據(jù)權利要求4所述的一種智能更新數(shù)據(jù)透視表的裝置,其特征在于,所述擴展模塊包括用于檢測數(shù)據(jù)源區(qū)域相鄰的行區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展, 即將該新增數(shù)據(jù)所在的所有行區(qū)域并入到數(shù)據(jù)源區(qū)域中的行擴展模塊;及用于檢測數(shù)據(jù)源區(qū)域相鄰的列區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展, 即將該新增數(shù)據(jù)所在的所有列區(qū)域并入到數(shù)據(jù)源區(qū)域中的列擴展模塊。
全文摘要
本發(fā)明公開了一種智能更新數(shù)據(jù)透視表的方法及裝置,該方法包括檢測是否接收到更新數(shù)據(jù)透視表的指令,當檢測到更新數(shù)據(jù)透視表的指令時,發(fā)送數(shù)據(jù)獲取指令;根據(jù)所述數(shù)據(jù)獲取指令,獲取數(shù)據(jù)透視表的當前的數(shù)據(jù)源區(qū)域以及當前數(shù)據(jù)透視表的設置指令;檢測數(shù)據(jù)源區(qū)域的相鄰區(qū)域是否有新增數(shù)據(jù),若有,則將數(shù)據(jù)源區(qū)域進行擴展;從擴展后的數(shù)據(jù)源區(qū)域中讀取所有數(shù)據(jù);使用獲取的設置指令對讀取的數(shù)據(jù)進行重新運算;根據(jù)重新運算的結果對數(shù)據(jù)透視表進行更新。本發(fā)明在更新數(shù)據(jù)透視表的過程中,可自動將數(shù)據(jù)源區(qū)域進行擴展,從而基于擴展后的數(shù)據(jù)源區(qū)域對數(shù)據(jù)透視表進行更新,操作方便,時效性好且準確度高,可廣泛應用于電子表格的編輯中。
文檔編號G06F17/24GK103020031SQ201210554149
公開日2013年4月3日 申請日期2012年12月19日 優(yōu)先權日2012年12月19日
發(fā)明者陳波, 楊柏林 申請人:珠海金山辦公軟件有限公司, 北京金山辦公軟件有限公司