本發(fā)明涉及計算機技術領域,特別涉及一種報表編輯方法及裝置。
背景技術:
報表可將數據以表格和圖表等形式顯示出來,在使用過程中,用戶可根據實際需求,對報表中各個單元格的數據進行編輯。
報表中存在根據級次規(guī)則組合有多行的組合區(qū)域,可對組合區(qū)域中的下級數據行進行展開處理或折疊處理,以使下級數據行處于展開狀態(tài)或折疊狀態(tài)。用戶對組合區(qū)域中的單元格進行編輯時,若待編輯單元格存在下級數據行,且下級數據行處于折疊狀態(tài),則更改待編輯單元格的數據可能導致處于折疊狀態(tài)的下級數據行內的數據也隨之更改,引起數據錯誤,從而降低報表編輯的準確性。
技術實現要素:
本發(fā)明實施例提供了一種報表編輯方法及裝置,能提高報表編輯的準確性。
第一方面,本發(fā)明實施例提供了一種報表編輯方法,包括:
獲取編輯指令;
根據所述編輯指令中攜帶的位置信息,在待編輯報表中確定待編輯單元格;
確定所述待編輯報表的級次規(guī)則;
根據所述級次規(guī)則,判斷所述待編輯單元格所屬的當前數據行是否存在下級數據行,當所述當前數據行存在下級數據行時,確定所述下級數據行的當前狀態(tài);
當所述下級數據行的當前狀態(tài)為展開狀態(tài)時,根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
優(yōu)選地,
當所述下級數據行的當前狀態(tài)為展開狀態(tài)時,進一步包括:
確定所述待編輯報表的狀態(tài);
當所述待編輯報表的狀態(tài)不為保護狀態(tài)時,執(zhí)行所述根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
優(yōu)選地,
所述確定所述待編輯報表的級次規(guī)則,包括:
在所述待編輯報表中確定至少一個上級數據行,以及每一個所述上級數據行對應的至少一個下級數據行。
優(yōu)選地,
該方法進一步包括:當所述下級數據行的當前狀態(tài)為折疊狀態(tài)時,向所述外部輸入設備發(fā)送禁止編輯所述待編輯單元格的響應信息。
優(yōu)選地,
該方法進一步包括:
接收所述外部輸入設備根據所述響應信息輸入的狀態(tài)更改指令;
根據所述狀態(tài)更改指令,將所述下級數據行的當前狀態(tài)由折疊狀態(tài)更改為展開狀態(tài);
根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
第二方面,本發(fā)明實施例提供了一種報表編輯裝置,包括:獲取單元、單元格確定單元、狀態(tài)確定單元和編輯單元;其中,
所述獲取單元,用于獲取外部輸入設備輸入的編輯指令;
所述單元格確定單元,用于根據所述獲取單元獲取的編輯指令中攜帶的位置信息,在待編輯報表中確定待編輯單元格;
所述狀態(tài)確定單元,用于確定所述待編輯報表的級次規(guī)則,根據所述級次規(guī)則,判斷所述待編輯單元格所屬的當前數據行是否存在下級數據行,當所述當前數據行存在下級數據行時,確定所述下級數據行的當前狀態(tài);
所述編輯單元,用于當所述狀態(tài)確定單元確定出所述下級數據行的當前狀態(tài)為展開狀態(tài)時,根據所述獲取單元獲取的編輯指令中攜帶的數據,對所述單元格確定單元確定出的待編輯單元格進行編輯。
優(yōu)選地,
所述編輯單元,進一步用于確定所述待編輯報表的狀態(tài),當所述待編輯報表的狀態(tài)不為保護狀態(tài)時,執(zhí)行所述根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
優(yōu)選地,
所述狀態(tài)確定單元,用于在所述待編輯報表中確定至少一個上級數據行,以及每一個所述上級數據行對應的至少一個下級數據行。
優(yōu)選地,
進一步包括:信息發(fā)送單元;其中,
所述信息發(fā)送單元,用于當所述狀態(tài)確定單元確定出所述下級數據行的當前狀態(tài)為折疊狀態(tài)時,向所述外部輸入設備發(fā)送禁止編輯所述待編輯單元格的響應信息。
優(yōu)選地,
所述獲取單元,進一步用于接收所述外部輸入設備根據所述響應信息輸入的狀態(tài)更改指令;
所述編輯單元,進一步用于根據所述獲取單元獲取的狀態(tài)更改指令,將所述下級數據行的當前狀態(tài)由折疊狀態(tài)更改為展開狀態(tài),并根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
本發(fā)明實施例提供了一種報表編輯方法及裝置,在待編輯單元格所屬的數據行存在下級數據行時,則僅當所述下級數據行的狀態(tài)為展開狀態(tài)時,才對待編輯單元格進行編輯,從而避免了更改待編輯單元格的數據時,處于折疊狀態(tài)的下級數據行內的數據也隨之更改,進而提高了報表編輯的準確性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種報表編輯方法的流程圖;
圖2是本發(fā)明另一個實施例提供的一種報表編輯方法的流程圖;
圖3是本發(fā)明一個實施例提供的一種報表編輯裝置的結構示意圖;
圖4是本發(fā)明另一個實施例提供的一種報表編輯裝置的結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種報表編輯方法,該方法可以包括以下步驟:
步驟101,獲取編輯指令;
步驟102,根據所述編輯指令中攜帶的位置信息,在待編輯報表中確定待編輯單元格;
步驟103,確定所述待編輯報表的級次規(guī)則;
步驟104,根據所述級次規(guī)則,判斷所述待編輯單元格所屬的當前數據行是否存在下級數據行,當所述當前數據行存在下級數據行時,確定所述下級數據行的當前狀態(tài);
步驟105,當所述下級數據行的當前狀態(tài)為展開狀態(tài)時,根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
上述實施例中,在待編輯單元格所屬的數據行存在有下級數據行時,則僅當所述下級數據行的狀態(tài)為展開狀態(tài)時,才根據編輯指令中攜帶的數據,對待編輯單元格進行編輯,從而避免了更改待編輯單元格的數據時,處于折疊狀態(tài)的下級數據行內的數據也隨之更改,進而提高了報表編輯的準確性。
為了進一步提高報表編輯的準確性,本發(fā)明一個實施例中,當所述下級數據行的當前狀態(tài)為展開狀態(tài)時,可以進一步包括:
確定所述待編輯報表的狀態(tài);
當所述待編輯報表的狀態(tài)不為保護狀態(tài)時,執(zhí)行所述根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
例如,當待編輯報表為Excel報表時,當Excel報表處于只讀模式或工作表保護模式等狀態(tài)時,確定Excel報表的狀態(tài)為保護狀態(tài)。此時Excel報表的內容不可更改,只有當撤銷Excel報表的保護狀態(tài)時,才可對待編輯單元格的內容進行編輯。
進一步地,可根據輸入設備的業(yè)務操作,更改待編輯報表的狀態(tài)。例如,可根據鼠標在待編輯報表中的操作位置,確定其業(yè)務操作類型,并根據業(yè)務操作類型,更改待編輯報表的狀態(tài)。具體地,當待編輯報表為Excel報表時,在工作簿的第一列的左側存在各個組合區(qū)域的標志,當鼠標的操作位置與任意一個組合區(qū)域的標志相對應時,說明用戶想對該組合區(qū)域進行展開或折疊處理,此時可鎖定工作簿的內容,即將Excel報表的狀態(tài)設置為工作表保護模式,使整個報表的內容不可編輯,僅可對組合區(qū)域進行展開或折疊,避免由于誤操作改變報表中的公式等而引起數據錯誤,從而進一步提高報表編輯的準確性。
本實施例中的方法至少可通過以下程序實現:
本發(fā)明一個實施例中,步驟103的具體實施方式可以包括:
在所述待編輯報表中確定至少一個上級數據行,以及每一個所述上級數據行對應的至少一個下級數據行。
例如,在做多個報表的統計表時,會對各個報表的編號、行名稱和行數據等進行統計。其中,報表的編號為此報表的第一級,每個報表的行名稱和行數據為此報表的第二級,在具體的行名稱和行數據組合時,還可有具體的分級。例如,在一個財務報表中,行名稱包括有年、月和日,則月對應的數據行為年對應的數據行的下級數據行,日對應的數據行為月對應的數據行的下級數據行。在待編輯報表中確定各個上級數據行分別對應的下級數據行,便于判斷當前數據行是否存在下級數據行,從而有利于快速判斷出是否能對待編輯單元格進行編輯,從而提高報表編輯的效率。
為了進一步提高報表編輯的效率,本發(fā)明一個實施例中,報表編輯方法可以進一步包括:
當所述下級數據行的當前狀態(tài)為折疊狀態(tài)時,向外部輸入設備發(fā)送禁止編輯所述待編輯單元格的響應信息。
接收所述外部輸入設備根據所述響應信息輸入的狀態(tài)更改指令;
根據所述狀態(tài)更改指令,將所述下級數據行的當前狀態(tài)由折疊狀態(tài)更改為展開狀態(tài);
根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
上述實施例中,當確定下級數據行的當前狀態(tài)為折疊狀態(tài)時,此時無法對待編輯單元格進行編輯,則向外部輸入設備發(fā)送禁止編輯的響應信息,以使外部輸入設備根據響應信息輸入狀態(tài)更改指令,并根據狀態(tài)更改指令,將下級數據行的當前狀態(tài)更改為展開狀態(tài),以根據編輯指令中攜帶的數據,對待編輯單元格進行編輯。由于可根據狀態(tài)更改指令,自動展開折疊的組合區(qū)域,從而避免了由于組合區(qū)域為折疊狀態(tài)時,無法對待編輯單元格進行編輯的情況,進而提高了編輯報表的效率。
下面以銷售報表1為例,對本發(fā)明實施例提供的報表編輯方法進行詳細說明,如圖2所示,該方法可以包括以下步驟:
步驟201,獲取編輯指令。
編輯指令中攜帶有位置信息和待編輯數據,例如,位置信息包括表1中具體的行列信息。
步驟202,根據所述編輯指令中攜帶的位置信息,在表1中確定待編輯單元格。
例如,當編輯指令中攜帶的位置信息為第4行第3列,則可在表1中確定出對應的待編輯單元格。
步驟203,確定表1的級次規(guī)則。
確定表1的級次規(guī)則,即時在表1中確定至少一個上級數據行,以及每一個所述上級數據行對應的至少一個下級數據行,例如,在表1中,年對應的數據行為一級數據行,月對應的數據行為二級數據行,日對應的數據行為三級數據行,則二級數據行是一級數據行的下級數據行,三級數據行是二級數據行的下級數據行,以此類推。
表1
步驟204,根據級次規(guī)則,判斷所述待編輯單元格所屬的當前數據行是否存在下級數據行,如果是,則執(zhí)行步驟205,否則執(zhí)行步驟207。
步驟205,判斷下級數據行的當前狀態(tài)是否為展開狀態(tài),如果是,則執(zhí)行步驟206,否則執(zhí)行步驟208。
步驟206,判斷表1的狀態(tài)是否為保護狀態(tài),如果是,則結束當前流程,否則執(zhí)行步驟207。
步驟207,根據編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
例如,當編輯指令中攜帶的位置信息為第4行第3列時,則待編輯單元格所屬的數據行是月對應的數據行,根據級次規(guī)則,其屬于二級數據行,有下級數據行,即日對應的三級數據行,且此時三級數據行處于展開狀態(tài),則可以根據編輯指令中攜帶的待編輯數據,對此待編輯單元格進行編輯。
步驟208,向外部輸入設備發(fā)送禁止編輯所述待編輯單元格的響應信息。
步驟209,接收所述外部輸入設備根據所述響應信息輸入的狀態(tài)更改指令。
步驟210,根據所述狀態(tài)更改指令,將所述下級數據行的當前狀態(tài)更改為展開狀態(tài),并執(zhí)行步驟207。
如果待編輯單元格的下級數據行處于折疊狀態(tài),例如,三級數據行處于折疊狀態(tài)的情形如表2所示,此時若更改二級數據行中的數據,可能導致三級數據行中是數據也隨著更改,引起數據錯誤??筛鶕獠枯斎氲臓顟B(tài)更改指令,將折疊狀態(tài)更改為展開狀態(tài)之后,再對待編輯單元格進行編輯,從而提高編輯報表的準確性。
表2
上述實施例中,在待編輯單元格所屬的數據行存在有下級數據行,則僅當所述下級數據行的狀態(tài)為展開狀態(tài)時,才根據編輯指令中攜帶的數據,對待編輯單元格進行編輯,從而避免了更改待編輯單元格的數據時,處于折疊狀態(tài)的下級數據行內的數據也隨之更改,進而提高了報表編輯的準確性。
如圖3所示,本發(fā)明實施例提供了一種報表編輯裝置,包括:獲取單元301、單元格確定單元302、狀態(tài)確定單元303和編輯單元304;其中,
所述獲取單元301,用于獲取編輯指令;
所述單元格確定單元302,用于根據所述獲取單元301獲取的編輯指令中攜帶的位置信息,在待編輯報表中確定待編輯單元格;
所述狀態(tài)確定單元303,用于確定所述待編輯報表的級次規(guī)則,根據所述級次規(guī)則,判斷所述單元格確定單元302確定出的待編輯單元格所屬的當前數據行是否存在下級數據行,當所述當前數據行存在下級數據行時,確定所述下級數據行的當前狀態(tài);
所述編輯單元304,用于當所述狀態(tài)確定單元303確定出所述下級數據行的當前狀態(tài)為展開狀態(tài)時,根據所述獲取單元獲取的編輯指令中攜帶的數據,對所述單元格確定單元確定出的待編輯單元格進行編輯。
上述實施例中,在待編輯單元格所屬的數據行存在有下級數據行時,則僅當所述下級數據行的狀態(tài)為展開狀態(tài)時,才根據編輯指令中攜帶的數據,對待編輯單元格進行編輯,從而避免了更改待編輯單元格的數據時,處于折疊狀態(tài)的下級數據行內的數據也隨之更改,進而提高了報表編輯的準確性。
為了進一步提高報表編輯的準確性,本發(fā)明一個實施例中,所述編輯單元304,進一步用于確定所述待編輯報表的狀態(tài),當所述待編輯報表的狀態(tài)不為保護狀態(tài)時,執(zhí)行所述根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
例如,當待編輯報表為Excel報表時,當Excel報表處于只讀模式或工作表保護模式等狀態(tài)時,確定Excel報表的狀態(tài)為保護狀態(tài)。此時Excel報表的內容不可更改,只有當撤銷Excel報表的保護狀態(tài)時,才可對待編輯單元格的內容進行編輯。
進一步地,可根據輸入設備的業(yè)務操作,更改待編輯報表的狀態(tài)。例如,可根據鼠標在待編輯報表中的操作位置,確定其業(yè)務操作類型,并根據業(yè)務操作類型,更改待編輯報表的狀態(tài)。具體地,當待編輯報表為Excel報表時,在工作簿的第一列的左側存在各個組合區(qū)域的標志,當鼠標的操作位置與任意一個組合區(qū)域的標志相對應時,說明用戶想對該組合區(qū)域進行展開或折疊處理,此時可鎖定工作簿的內容,即將Excel報表的狀態(tài)設置為工作表保護模式,使整個報表的內容不可編輯,僅可對組合區(qū)域進行展開或折疊,避免由于誤操作改變報表中的公式等而引起數據錯誤,從而進一步提高報表編輯的準確性。
本發(fā)明一個實施例中,所述狀態(tài)確定單元303,用于在所述待編輯報表中確定至少一個上級數據行,以及每一個所述上級數據行對應的至少一個下級數據行。
例如,在做多個報表的統計表時,會對各個報表的編號、行名稱和行數據等進行統計。其中,報表的編號為此報表的第一級,每個報表的行名稱和行數據為此報表的第二級,在具體的行名稱和行數據組合時,還可有具體的分級。例如,在一個財務報表中,行名稱包括有年、月和日,則月對應的數據行為年對應的數據行的下級數據行,日對應的數據行為月對應的數據行的下級數據行。在待編輯報表中確定各個上級數據行分別對應的下級數據行,便于判斷當前數據行是否存在下級數據行,從而有利于快速判斷出是否能對待編輯單元格進行編輯,從而提高報表編輯的效率。
為了進一步提高報表編輯的效率,本發(fā)明一個實施例中,如圖4所示,報表編輯裝置可以進一步包括:信息發(fā)送單元401;其中,
所述信息發(fā)送單元401,用于當所述狀態(tài)確定單元303確定出所述下級數據行的當前狀態(tài)為折疊狀態(tài)時,向外部輸入設備發(fā)送禁止編輯所述待編輯單元格的響應信息;
所述獲取單元301,進一步用于接收所述外部輸入設備根據所述響應信息輸入的狀態(tài)更改指令;
所述編輯單元304,進一步用于根據所述獲取單元獲取的狀態(tài)更改指令,將所述下級數據行的當前狀態(tài)由折疊狀態(tài)更改為展開狀態(tài),并根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯。
上述實施例中,當確定下級數據行的當前狀態(tài)為折疊狀態(tài)時,此時無法對待編輯單元格進行編輯,則向外部輸入設備發(fā)送禁止編輯的響應信息,以使外部輸入設備根據響應信息輸入狀態(tài)更改指令,并根據狀態(tài)更改指令,將下級數據行的當前狀態(tài)更改為展開狀態(tài),以根據編輯指令中攜帶的數據,對待編輯單元格進行編輯。由于可根據狀態(tài)更改指令,自動展開折疊的組合區(qū)域,從而避免了由于組合區(qū)域為折疊狀態(tài)時,無法對待編輯單元格進行編輯的情況,進而提高了編輯報表的效率。
上述裝置內的各單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,具體內容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
本發(fā)明還提供了一種可讀介質,包括執(zhí)行指令,當存儲控制器的處理器執(zhí)行所述執(zhí)行指令時,所述存儲控制器執(zhí)行本發(fā)明上述任一實施例提供的報表編輯方法。
另外,本發(fā)明還提供了一種存儲控制器,包括:處理器、存儲器和總線;所述存儲器用于存儲執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當所述存儲控制器運行時,所述處理器執(zhí)行所述存儲器存儲的所述執(zhí)行指令,以使所述存儲控制器執(zhí)行本發(fā)明上述任一實施例提供的報表編輯方法。
綜上所述,本發(fā)明各個實施例至少具有如下有益效果:
1、在待編輯單元格所屬的數據行存在有下級數據行時,則僅當所述下級數據行的狀態(tài)為展開狀態(tài)時,才根據編輯指令中攜帶的數據,對待編輯單元格進行編輯,從而避免了更改待編輯單元格的數據時,處于折疊狀態(tài)的下級數據行內的數據也隨之更改,進而提高了報表編輯的準確性。
2、當所述待編輯報表的狀態(tài)不為保護狀態(tài)時,才能根據所述編輯指令中攜帶的數據,對所述待編輯單元格進行編輯,避免由于誤操作改變報表中的公式等而引起數據錯誤,從而進一步提高報表編輯的準確性。
3、在待編輯報表中確定各個上級數據行分別對應的下級數據行,便于判斷當前數據行是否存在下級數據行,從而有利于快速判斷出是否能對待編輯單元格進行編輯,從而提高報表編輯的效率。
4、當確定下級數據行的當前狀態(tài)為折疊狀態(tài)時,確定此時無法對待編輯單元格進行編輯,則向外部輸入設備發(fā)送禁止編輯的響應信息,以使外部輸入設備根據響應信息輸入狀態(tài)更改指令,并根據狀態(tài)更改指令,將下級數據行的當前狀態(tài)更改為展開狀態(tài),以根據編輯指令中攜帶的數據,對待編輯單元格進行編輯。由于可根據狀態(tài)更改指令,自動展開折疊的組合區(qū)域,從而避免了由于組合區(qū)域為折疊狀態(tài)時,無法對待編輯單元格進行編輯的情況,進而提高了編輯報表的效率。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。