專利名稱:電子表格文件的處理方法及處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應(yīng)用程序處理領(lǐng)域,特別涉及一種電子表格文件的讀取 方法、 一種電子表格文件的讀取裝置、 一種電子表格文件的保存方法、 一種電子表格文件的保存裝置。
一種電子表格文件的處理方法以及一種 電子表格文件的處理裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,電子表格(Spreadsheet)以其強(qiáng)大的表格處理 能力,已成為人們進(jìn)行數(shù)據(jù)處理的重要工具,現(xiàn)有的電子表格文件(如 Excel工作簿),通常包括多個(gè)工作表,每個(gè)工作表包含多個(gè)行和列?,F(xiàn)有 技術(shù)中,當(dāng)根據(jù)用戶的讀取操作加載該電子表格文件時(shí),需要讀取電子 表格文件的所有工作表,并加載為內(nèi)存對(duì)象;相應(yīng)地,在進(jìn)行保存操作 時(shí),也需要將加載的所有工作表對(duì)象進(jìn)行保存。具體而言, 一個(gè)電子表格文件通常對(duì)應(yīng)一個(gè)Book (文件)對(duì)象,一 個(gè)Book對(duì)象通常包括多個(gè)Sheet (表頁)對(duì)象,現(xiàn)有技術(shù)中,當(dāng)讀取一個(gè) Book對(duì)象時(shí),需要對(duì)該Book對(duì)象中所有的Sheet對(duì)象進(jìn)行加載,例如,某 個(gè)工作簿中包括100個(gè)工作表,采用現(xiàn)有技術(shù)讀取該工作簿時(shí),會(huì)把這個(gè) 工作簿中的100個(gè)工作表對(duì)象全部加載到內(nèi)存中,然而,在實(shí)際中,用戶 往往只是對(duì)其中的某一個(gè)、某幾個(gè)或部分工作表進(jìn)行訪問和操作,則這 種全部讀取的行為明顯過度占用內(nèi)存資源,從而引起處理效率低下的問 題。相應(yīng)地,在采用這種現(xiàn)有技術(shù)進(jìn)行電子表格文件保存時(shí),仍需要將 之前全部加載的Sheet對(duì)象轉(zhuǎn)換成相應(yīng)的byte數(shù)組,然后再保存這些lt組。 在這種情況下,即使用戶只針對(duì)某個(gè)Sheet對(duì)象進(jìn)行了操作,對(duì)于其它沒 有操作過的Sheet對(duì)象,仍需要轉(zhuǎn)換成相應(yīng)的byte數(shù)組以進(jìn)行存儲(chǔ),從而 更加導(dǎo)致了資源的浪費(fèi),嚴(yán)重影響了電子表格文件的處理效率。所以,本領(lǐng)域技術(shù)人員迫切需要發(fā)展出一種在減少系統(tǒng)資源占用的 前提下,有效提高對(duì)電子表格文件的處理效率的處理方法及裝置。 發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種電子表格文件的讀取方法、 一種電子表格文件的保存方法,以及一種電子表格文件的處理方法,用 以解決現(xiàn)有技術(shù)中對(duì)于電子表格文件的讀取和保存操作資源占用過多, 處理效率低下的問題。本發(fā)明還提供了一種電子表格文件的讀取裝置、 一種電子表格文件 的保存裝置,以及一種電子表格文件的處理裝置,用以提供上述方法在 實(shí)際中應(yīng)用的情形。為解決上述技術(shù)問題,本發(fā)明實(shí)施例公開了 一種電子表格文件的讀取方法,包括讀入電子表格文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相 應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述 Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;將所述Book數(shù)組加載為Book對(duì)象;才艮據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet凄t組,并將所述Sheet 數(shù)組加載為Sheet對(duì)象。優(yōu)選的是,所述的方法,還包括 將當(dāng)前缺省的Sheet數(shù)組加載為缺省Sheet對(duì)象。 優(yōu)選的是,所述確定Sheet數(shù)組的步驟包括根據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的請(qǐng)求信息,所述請(qǐng)求 信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述Sheet數(shù)組。 優(yōu)選的是,所述的方法,還包括 刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組。 本發(fā)明實(shí)施例還公開了 一種電子表格文件的讀取裝置,包括 數(shù)組元素讀入單元,用于讀入電子表才各文件的數(shù)組元素,所述數(shù)組 元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book 對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; Book對(duì)象加載單元,用于將所述Book數(shù)組加載為Book對(duì)象; Sheet數(shù)組確定單元,用于根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組;Sheet對(duì)象加載單元,用于將所述Sheet數(shù)組加載為Sheet對(duì)象。 優(yōu)選的是,所述的讀取裝置,還包括缺省Sheet對(duì)象加載單元,用于將當(dāng)前缺省的Sheet lt組加載為缺 省Sheet對(duì)象。優(yōu)選的是,所述Sheet數(shù)組確定單元包括請(qǐng)求子單元,用于才艮據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的請(qǐng) 求信息,所述請(qǐng)求信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;定位子單元,用于根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述 Sheet數(shù)組。優(yōu)選的是,所述的讀取裝置,還包括刪除單元,用于刪除所述已加載為Sheet對(duì)象的Sheet ^L組。 本發(fā)明實(shí)施例還公開了 一種電子表格文件的保存方法,包括 獲取需要保存的電子表格文件的Book對(duì)象、一皮加載的Sheet對(duì)象及未被加載的Sheet數(shù)組,所述被加載的Sheet對(duì)象為根據(jù)用戶的工作表選定操作確定的Sheet數(shù)組加載成的Sheet對(duì)象,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組;將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加載的Sheet 數(shù)組。優(yōu)選的是,所述組合保存步驟包括 將所述Book數(shù)組保存為主文件;將所述Sheet數(shù)組保存為所述主文件相應(yīng)文件塊的內(nèi)容。 優(yōu)選的是,所述組合保存步驟包括 根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù);將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù)中相應(yīng)字段的表數(shù)據(jù)。 優(yōu)選的是,所述Sheet對(duì)象到Sheet數(shù)組的轉(zhuǎn)換為對(duì)所述sheet對(duì)象 進(jìn)行序列化獲得。
本發(fā)明實(shí)施例還公開了 一種電子表格文件的保存裝置,包括獲取單元,用于獲取需要保存的電子表格文件的Book對(duì)象、被加 載的Sheet對(duì)象及未被加載的Sheet數(shù)組,所述被加載的Sheet對(duì)象為根 據(jù)用戶的工作表選定操作確定的Sheet數(shù)組加載成的Sheet對(duì)象,所述 Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;Book數(shù)組轉(zhuǎn)換單元,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組,所 述Book數(shù)組為Book對(duì)象的byte數(shù)組;Sheet數(shù)組轉(zhuǎn)換單元,用于將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet 數(shù)組;組合保存單元,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組 和未被加載的Sheet數(shù)組。優(yōu)選的是,所述組合保存單元包括Book文件保存子單元,用于將所述Book數(shù)組保存為主文件; Sheet文件保存子單元,用于將所述Sheet數(shù)組保存為所述主文件相 應(yīng)文件塊的內(nèi)容。優(yōu)選的是,所述組合保存單元包括Book數(shù)據(jù)庫(kù)生成子單元,用于根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù); Sheet數(shù)據(jù)庫(kù)保存子單元,用于將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù)中相應(yīng)字段的表數(shù)據(jù)。本發(fā)明實(shí)施例還公開了一種電子表格文件的處理方法,包括 讀入電子表格文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; 將所述Book數(shù)組加載為Book對(duì)象;根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組,并將所述Sheet 數(shù)組加載為Sheet對(duì)象;獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及 未被加載的Sheet數(shù)組;將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組;將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加載的Sheet 數(shù)組。優(yōu)選的是,所述的處理方法,還包括 刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組。 本發(fā)明實(shí)施例還公開了一種電子表格文件的處理裝置,包括 數(shù)組元素讀入單元,用于讀入電子表格文件的數(shù)組元素,所述數(shù)組 元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book 對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; Book對(duì)象加載單元,用于將所述Book數(shù)組加載為Book對(duì)象; Sheet數(shù)組確定單元,用于根據(jù)用戶的工作表選定操作確定相應(yīng)的 Sheet數(shù)組;Sheet對(duì)象加載單元,用于將所述Sheet數(shù)組加載為Sheet對(duì)象; 獲取單元,用于獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;Book數(shù)組轉(zhuǎn)換單元,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組; Sheet數(shù)組轉(zhuǎn)換單元,用于將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存單元,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組 和未被加載的Sheet數(shù)組。優(yōu)選的是,所述的處理裝置,還包括刪除單元,用于刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)本發(fā)明通過降低Book對(duì)象與各個(gè)Sheet對(duì)象的耦合度,當(dāng)讀取工作 簿時(shí),并不需要將Book對(duì)象中所有的Sheet對(duì)象的byte數(shù)組轉(zhuǎn)化成Sheet 對(duì)象,而只需要?jiǎng)討B(tài)地將用戶訪問的工作表所對(duì)應(yīng)的Sheet數(shù)組轉(zhuǎn)化成 Sheet對(duì)象;相應(yīng)地,在保存工作簿時(shí),只需要將用戶讀取過的、被加 載的Sheet對(duì)象轉(zhuǎn)換成byte數(shù)組,而對(duì)于沒有被加載的Sheet對(duì)象,由 于它仍然為byte數(shù)組形式,因而不需要重新生成,從而有效減少了內(nèi)存 資源的占用,提高了電子表格文件的處理效率。
圖1是本發(fā)明的一種電子表格文件的讀取方法實(shí)施例的流程圖; 圖2是本發(fā)明的 一種電子表格文件的讀取裝置實(shí)施例的結(jié)構(gòu)框圖; 圖3是應(yīng)用圖2所示的優(yōu)選實(shí)施例進(jìn)行電子表格文件讀取的流程圖;圖4是本發(fā)明的 一種電子表格文件的保存方法實(shí)施例的流程圖; 圖5是本發(fā)明的一種電子表格文件的保存裝置實(shí)施例的結(jié)構(gòu)框圖; 圖6是應(yīng)用圖5所示的優(yōu)選實(shí)施例進(jìn)行電子表格文件保存的流程圖;圖7是本發(fā)明的 一種電子表格文件的處理方法實(shí)施例的流程圖; 圖8是本發(fā)明的一種電子表格文件的處理裝置實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合 附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明實(shí)施例的核心構(gòu)思之一在于, 一個(gè)電子表格文件的Book對(duì) 象對(duì)應(yīng)一個(gè)文件,將這個(gè)文件內(nèi)部按照表頁分成多段。當(dāng)Book對(duì)象加 載后,會(huì)生成一個(gè)數(shù)組,但數(shù)組的元素不是Sheet對(duì)象,而是所有Sheet 對(duì)象的bytett組,當(dāng)外部需要訪問某一個(gè)Sheet時(shí),才動(dòng)態(tài)地將相應(yīng)的 Sheet對(duì)象的byte數(shù)組加載為Sheet對(duì)象,即只將用戶觸發(fā)的表頁加載 為sheet對(duì)象。相應(yīng)地,在保存文件時(shí),則只需要將被加載的Sheet對(duì)象 轉(zhuǎn)化成對(duì)應(yīng)的byteit組并寫入文件,未^^皮加載的Sheet對(duì)象,由于在讀 取時(shí)未作轉(zhuǎn)換,其仍為byte數(shù)組的形式,直接寫入文件即可。本發(fā)明通 過降低Book對(duì)象與各個(gè)Sheet對(duì)象的耦合度,當(dāng)讀取工作簿時(shí),并不需 要將Book對(duì)象中所有的Sheet對(duì)象的byte數(shù)組轉(zhuǎn)化成Sheet對(duì)象,而只 需要?jiǎng)討B(tài)地將用戶訪問的工作表所對(duì)應(yīng)的Sheet數(shù)組轉(zhuǎn)化成Sheet對(duì)象; 相應(yīng)地,在保存工作簿時(shí),只需要將用戶讀取過的、被加載的Sheet對(duì) 象轉(zhuǎn)換成byte數(shù)組,而對(duì)于沒有#1加載的Sheet對(duì)象,由于它仍然為byte 數(shù)組形式,因而不需要重新生成,從而有效減少了內(nèi)存資源的占用,提 高了電子表格文件的處理效率。
參考圖1,示出了本發(fā)明的一種電子表格文件的讀取方法實(shí)施例的流程圖,具體可以包括以下步驟步驟IOI、讀入電子表格文件的數(shù)組元素;其中,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述 Book數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象 的byte數(shù)組;步驟102、將所述Book數(shù)組加載為Book對(duì)象;步驟103、 #4居用戶的工作表選定^^喿作確定相應(yīng)的Sheet數(shù)組,并 將所述Sheet數(shù)組加載為Sheet對(duì)象。在實(shí)際中,電子表格文件,如EXCEL、財(cái)務(wù)軟件中的報(bào)表文件等, 多以包含多個(gè)工作表的工作簿形式創(chuàng)建,以滿足用戶數(shù)據(jù)整合、計(jì)算、 輸出及其它處理需求,例如,在EXCEL中,每個(gè)Workbook (工作簿) 對(duì)象都包含Worksheet (工作表)對(duì)象的一個(gè)集合。在本實(shí)施例中,為方便數(shù)據(jù)的傳遞,電子表格文件以byte數(shù)組的形 式存在于后臺(tái),而在調(diào)用時(shí)才將byte數(shù)組加載為內(nèi)存對(duì)象。因而,在讀 入電子表格文件時(shí),所讀入的是所述電子表格文件的數(shù)組元素,即Book 對(duì)象的byte數(shù)組(Book數(shù)組),和所述所包含的多個(gè)Sheet對(duì)象的byte 數(shù)組(多個(gè)Sheet數(shù)組)。在實(shí)際中,這些Book數(shù)組和Sheet數(shù)組可以 構(gòu)成一種目錄結(jié)構(gòu),如, 一個(gè)主文件及對(duì)應(yīng)的多塊文件內(nèi)容,具體而言, 即將Book數(shù)組作為主文件,用以描述這些數(shù)組的公共信息(如名稱、 路徑等),包含的文件塊,以及這些文件塊的位置信息和標(biāo)識(shí)信息;而 將所述Book數(shù)組包含的多個(gè)Sheet數(shù)組,分別作為與其位置信息和標(biāo)識(shí) 信息相適應(yīng)的文件塊的內(nèi)容,從而形成一段完整的二進(jìn)制數(shù)據(jù)流。優(yōu)選的是,為提高數(shù)據(jù)的傳遞效率,還可以在對(duì)這種完整數(shù)據(jù)流形 成時(shí)和加載時(shí),引入壓縮和解壓技術(shù),以減少文件的大小,本發(fā)明所述 壓縮和解壓技術(shù)的采用不作限制。當(dāng)用戶激活一個(gè)工作簿,則需要將讀入的Book數(shù)組加載為Book 對(duì)象,提供給用戶操作,在實(shí)際中,通常還會(huì)有一個(gè)與工作簿一同激活 的缺省工作表,該缺省的Sheet數(shù)組可能對(duì)應(yīng)的是第一個(gè)工作表,也可 能對(duì)應(yīng)的是上次用戶操作的工作表,還可能對(duì)應(yīng)其它的工作表,在這種 情況下,本實(shí)施例還可以包括以下步驟將當(dāng)前缺省的Sheet凄t組加載為缺省Sheet對(duì)象。 即在本實(shí)施例中,僅僅是將Book數(shù)組及該缺省的Sheet數(shù)組加載為 內(nèi)存對(duì)象,而不對(duì)全部的工作表進(jìn)行加載處理。由于在之前形成的目錄結(jié)構(gòu)的完整數(shù)據(jù)流中,各個(gè)工作表都對(duì)應(yīng)所 述凄丈據(jù)流的相應(yīng)部分,例如,對(duì)于一個(gè)包含多個(gè)文件塊的主文件而言, 各個(gè)工作表都對(duì)應(yīng)相應(yīng)位置信息和標(biāo)識(shí)信息的文件塊內(nèi)容,因而,在這 種松散耦合的基礎(chǔ)上,根據(jù)用戶選定的工作表獲得相應(yīng)的Sheet數(shù)組, 是可以簡(jiǎn)單實(shí)現(xiàn)的,例如, 一種實(shí)現(xiàn)方式為根據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的請(qǐng)求信息,所述請(qǐng)求 信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述Sheet數(shù)組。 當(dāng)然,上述實(shí)現(xiàn)方式僅僅用于舉例,本領(lǐng)域技術(shù)人員采用任一種方 式獲得用戶選定的工作表的Sheet數(shù)組都是可行的,例如,在根據(jù)數(shù)組 元素生成的數(shù)據(jù)庫(kù)中,獲得相應(yīng)字段的Sheet數(shù)組;或者,在根據(jù)數(shù)組 元素生成的哈希表中,取相應(yīng)關(guān)鍵字(Key)的值(Value)的方式等, 都是可行的,本發(fā)明對(duì)此不需要進(jìn)行限定。此外,現(xiàn)有技術(shù)中提供了諸多將byte數(shù)組轉(zhuǎn)換成對(duì)象的方法,例如采用以下代碼的原理實(shí)現(xiàn)static private Object bytes20bject( byte raw[])throws IOException, ClassNotFoundException { Byte Array InputStream bais = new Byte Array InputStream( raw》 ObjectlnputStream ois = new ObjectInputStream( bais ); Object o = ois.readObject(); return o;或者,通過對(duì)byte數(shù)組進(jìn)行反序列化實(shí)現(xiàn)等方式,因而,本領(lǐng)域技 術(shù)人員根據(jù)經(jīng)驗(yàn)或需要采用任一種方法將所述byte數(shù)組加載為對(duì)象都 是可行的,本發(fā)明對(duì)此并不需要進(jìn)行限制。當(dāng)將所述Sheet數(shù)組加載為Sheet對(duì)象后,由于該Sheet數(shù)組不再有
存在的必要,為進(jìn)一步減少內(nèi)存資源的占用,本實(shí)施例還可以包括以下步驟刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組??梢钥闯觯緦?shí)施例在讀取工作簿時(shí),并不需要將Book對(duì)象中所 有的Sheet對(duì)象的byte數(shù)組轉(zhuǎn)化成Sheet對(duì)象,而只需要?jiǎng)討B(tài)地將用戶 訪問的工作表所對(duì)應(yīng)的Sheet H組轉(zhuǎn)化成Sheet對(duì)象即可,乂人而有效降 低了內(nèi)存資源的占用,提高了電子表格文件的處理效率。參考圖2,示出了本發(fā)明的一種電子表格文件的讀取裝置實(shí)施例的 結(jié)構(gòu)框圖,所述讀取裝置20具體可以包括以下單元數(shù)組元素讀入單元201,用于讀入電子表格文件的數(shù)組元素;其中,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述 Book數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象 的byte數(shù)組;Book對(duì)象加載單元202,用于將所述Bookit組加載為Book對(duì)象; Sheet數(shù)組確定單元203,用于根據(jù)用戶的工作表選定操作確定相應(yīng) 的Sheet數(shù)組;Sheet對(duì)象加載單元204,用于將所述Sheet數(shù)組加載為Sheet對(duì)象。 在實(shí)際中,當(dāng)用戶激活一個(gè)工作簿,通常還會(huì)有一個(gè)與工作簿一同 激活的缺省工作表,在這種情況下,本實(shí)施例還可以包括缺省Sheet對(duì) 象加載單元,用于將當(dāng)前缺省的Sheet數(shù)組加載為缺省Sheet對(duì)象。優(yōu)選的是,在本實(shí)施例中,所述Sheet數(shù)組確定單元可以包括以下 子單元請(qǐng)求子單元,用于根據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的請(qǐng) 求信息,所述請(qǐng)求信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;定位子單元,用于根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述 Sheet數(shù)組。為進(jìn)一步減少內(nèi)存資源的占用,在本實(shí)施例中,還可以包括刪除單 元,用于在將所述Sheet數(shù)組加載為Sheet對(duì)象后,刪除所述已加載為 Sheet對(duì)象的Sheet數(shù)組。參考圖3,示出了應(yīng)用圖2所示的優(yōu)選實(shí)施例進(jìn)行電子表格文件讀
取的流程圖,具體可以包括以下步驟步驟301、數(shù)組元素讀入單元讀入電子表格文件的數(shù)組元素; 其中,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;步驟302、 Book對(duì)象加載單元將所述Book數(shù)組加載為Book對(duì)象; 步驟303、缺省Sheet對(duì)象加載單元將當(dāng)前缺省的Sheet數(shù)組加載為 缺省Sheet對(duì)象;步驟304、 Sheet數(shù)組確定單元根據(jù)用戶的工作表選定操作確定相應(yīng) 的Sheet數(shù)組;優(yōu)選的是,可以通過以下子步驟根據(jù)用戶的工作表選定操作確定相 應(yīng)的Sheet lt纟且子步驟Al、請(qǐng)求子單元才艮據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組 的請(qǐng)求信息;其中,所述請(qǐng)求信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息; 子步驟A2、定位子單元根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定 所述Sheet數(shù)組。步驟305、 Sheet對(duì)象加載單元將所述Sheet數(shù)組加載為Sheet對(duì)象; 步驟306、刪除單元?jiǎng)h除所述已加載為Sheet對(duì)象的Sheet數(shù)組。 對(duì)于裝置實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述的 比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。參考圖4,示出了本發(fā)明的一種電子表格文件的保存方法實(shí)施例的 流程圖,具體可以包括以下步驟步驟401、獲取需要保存的電子表格文件的Book對(duì)象、被加載的 Sheet對(duì)象及未被加載的Sheet數(shù)組;其中,所述被加載的Sheet對(duì)象是為提供給用戶訪問,根據(jù)用戶的 工作表選定操作確定的相應(yīng)Sheet數(shù)組所加載的Sheet對(duì)象,所述Sheet 數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;步驟402、將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組;其中,所述Book數(shù)組為Book對(duì)象的byte數(shù)組; 步驟403、將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組; 步驟404、組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加 載的Sheet lt組。當(dāng)用戶發(fā)出電子表格文件的保存指令,即可觸發(fā)需要保存的電子表 格文件的Book對(duì)象、;陂加載的Sheet對(duì)象及未^皮加載的Sheet數(shù)組地獲 取,由于在讀入電子表格文件時(shí),相應(yīng)的Book數(shù)組會(huì)被加載為Book 對(duì)象,用戶訪問的Sheet數(shù)組會(huì)被加載成的Sheet對(duì)象,而在保存時(shí), 需要將它們轉(zhuǎn)換成數(shù)組進(jìn)行保存。由于在本實(shí)施例中,所述Sheet對(duì)象的加載行為僅針對(duì)用戶的工作 表選定操作所確定的Sheet數(shù)組實(shí)施,因而,在用戶不是對(duì)一個(gè)工作簿 中的全部工作表進(jìn)行過訪問的情況下,保存時(shí)所獲取的電子表格文件的 內(nèi)容包括Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組,因 而,本實(shí)施例在實(shí)際中的具體過程可以為將該電子表格文件的Book對(duì)象轉(zhuǎn)換成Book數(shù)組;遍歷Book對(duì)象的所有Sheet元素,如果所述Sheet元素是被加載的 Sheet對(duì)象,則將該Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;如果所述Sheet元素 為Sheet數(shù)組,則保留其原始狀態(tài);按照前述目錄結(jié)構(gòu)或其它方式組合這些數(shù)組,以構(gòu)成一個(gè)完整的二 進(jìn)制數(shù)據(jù)流進(jìn)行保存。具體而言,在本實(shí)施例中,可以通過以下子步驟組合保存所述數(shù)組元素子步驟B1、將所述Book數(shù)組保存為主文件;子步驟B2、將所述Sheet數(shù)組保存為所述主文件相應(yīng)文件塊的內(nèi)容。 作為另 一 實(shí)施例,還可以通過以下子步驟組合保存所述數(shù)組元素 子步驟C1、根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù);子步驟C2、將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù)中相應(yīng)字段的表數(shù)據(jù)。當(dāng)然,上述組合保存數(shù)組元素的方法僅僅用于舉例,本領(lǐng)域技術(shù)人 員根據(jù)實(shí)際需要或經(jīng)驗(yàn)采用任一種保存方法都是可行的,本發(fā)明對(duì)不作限制。此外,在本實(shí)施例中,為提高數(shù)據(jù)的傳遞效率,也可以在對(duì)這種完 整數(shù)據(jù)流保存時(shí),引入壓縮和解壓技術(shù),以減少文件的大小,當(dāng)然,本 發(fā)明所述壓縮和解壓技術(shù)的采用不作限制。現(xiàn)有技術(shù)中,提供了諸多將對(duì)象轉(zhuǎn)換成byte數(shù)組的方法,本領(lǐng)域技 術(shù)人員人任意選用 一種都是可行的,優(yōu)選的是,在本實(shí)施例中,所述Sheet 對(duì)象到Sheet數(shù)組的轉(zhuǎn)換為對(duì)所述sheet對(duì)象進(jìn)行序列化獲得,例如,可 以參考以下代碼的原理實(shí)現(xiàn)if ((o instanceof SheetProxy)) 〃 (o instanceof SheetProxy)表示sheet 以byte數(shù)組的形式存在,還沒有轉(zhuǎn)化成sheet對(duì)象SheetProxy si = (SheetProxy)o;Sheet sheet = new Sheet(this, si.getSheetName());—sheets.set(index, sheet);_provider.loadSheet(sheet, si.getZipBytes());sheet.getSheetOption().setSelected(si.isSelected());sheet.getSheetOption().setHide(si.isHide());sheet.getSheetOption().setTabColor(si.getTabColor());sheet.setID(si.getID());public Sheet getSheet(int index)if (checkSheetIndex(index》Object o = —sheets.get(index); if ((o instanceof SheetProxy))SheetProxy si = (SheetProxy)o;Sheet sheet = new Sheet(this, si.getSheetName()); —sheets.set(index, sheet); jprovider.loadSheet(sheet, si.getZipBytes()); sheet.getSheetOption().setSelected(si.isSelected()); sheet.getSheetOption().set可以看出,在本實(shí)施例中,在保存工作簿時(shí),只需要將用戶讀取過 的、被加栽的Sheet對(duì)象轉(zhuǎn)換成byte數(shù)組,而對(duì)于沒有被加載的Sheet 對(duì)象,由于它仍然為byte數(shù)組形式,因而不需要重新生成,從而進(jìn)一步 減少了內(nèi)存資源的占用,提高了電子表格文件的處理效率。參考圖5,示出了本發(fā)明的一種電子表格文件的保存裝置實(shí)施例的 結(jié)構(gòu)框圖,所述保存裝置50具體可以包括以下單元 獲取單元501, 用于獲取需要保存的電子表格文件的Book對(duì)象、被 加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;其中,所述被加載的Sheet對(duì)象為根據(jù)用戶的工作表選定操作確定 的Sheet數(shù)組加載成的Sheet對(duì)象,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的 byte數(shù)組.,Book數(shù)組轉(zhuǎn)換單元502,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組; 其中,所述Book數(shù)組為Book對(duì)象的byte數(shù)組; Sheet數(shù)組轉(zhuǎn)換單元503,用于將所述被加載的Sheet對(duì)象轉(zhuǎn)換成 Sheet數(shù)組;組合保存單元504,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet 數(shù)組和未被加載的Sheet數(shù)組。Book文件保存子單元,用于將所述Book數(shù)組保存為主文件; Sheet文件保存子單元,用于將所述Sheet數(shù)組保存為所述主文件相應(yīng)文件塊的內(nèi)容。作為另 一實(shí)施例,本實(shí)施例中所述組合保存單元還可以包括以下子單元Book數(shù)據(jù)庫(kù)生成子單元,用于根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù); Sheet數(shù)據(jù)庫(kù)保存子單元,用于將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù) 中相應(yīng)字段的表數(shù)據(jù)。
參考圖6,示出了應(yīng)用圖5所示的優(yōu)選實(shí)施例進(jìn)行電子表格文件保 存的流程圖,具體可以包括以下步驟步驟601、獲取單元獲取需要保存的電子表格文件的Book對(duì)象、被 加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;其中,所述被加載的Sheet對(duì)象為根據(jù)用戶的工作表選定操作確定 的Sheet ^i:組加載成的Sheet對(duì)象,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的 byte數(shù)組;步驟602、 Book數(shù)組轉(zhuǎn)換單元將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組; 其中,所述Book數(shù)組為Book對(duì)象的byte數(shù)組; 步驟603、 Sheet數(shù)組轉(zhuǎn)換單元將所述被加載的Sheet對(duì)象轉(zhuǎn)換成 Sheet數(shù)組;步驟604、組合保存單元組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet 凄史纟且和未4皮力口載的Sheet凄丈纟且。對(duì)于裝置實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述的 比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。參考圖7,示出了本發(fā)明的一種電子表格文件的處理方法,具體可 以包括以下步驟步驟701、讀入電子表格文件的數(shù)組元素;所述H組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book 數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte 數(shù)組;步驟702、將所述Book數(shù)組加載為Book對(duì)象;步驟703、根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組,并將所述Sheet數(shù)組加載為Sheet對(duì)象;步驟704、獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;步驟705、將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組;步驟706、將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;步驟707、組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加
載的Sheet數(shù)組。優(yōu)選的是,為提高數(shù)據(jù)傳遞的效率,本實(shí)施例還可以包括步驟刪 除所述已加載為Sheet對(duì)象的Sheet數(shù)組。對(duì)于上述方法實(shí)施例的各個(gè)步驟,為了簡(jiǎn)單描述,故將其都表述為 一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描 述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或 者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí) 施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須 的。參考圖8,示出了本發(fā)明的一種電子表格文件的處理裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括以下單元數(shù)組元素讀入單元801,用于讀入電子表格文件的數(shù)組元素; 所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;Book對(duì)象加載單元802,用于將所述Book數(shù)組加載為Book對(duì)象; Sheet數(shù)組確定單元803,用于根據(jù)用戶的工作表選定操作確定相應(yīng) 的Sheet數(shù)組;Sheet對(duì)象加載單元804,用于將所述Sheet數(shù)組加載為Sheet對(duì)象; 獲取單元805,用于獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;Book凄t組轉(zhuǎn)換單元806,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組; Sheet數(shù)組轉(zhuǎn)換單元807,用于將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存單元808,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet 數(shù)組和未被加載的Sheet數(shù)組。優(yōu)選的是,本實(shí)施例還可以包括刪除單元,用于刪除所述已加載為 Sheet對(duì)象的Sheet數(shù)組。對(duì)于裝置實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述的 比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
可以看出,本發(fā)明在讀取工作簿時(shí),并不需要將Book對(duì)象中所有 的Sheet對(duì)象的byte數(shù)組轉(zhuǎn)化成Sheet對(duì)象,而只需要?jiǎng)討B(tài)地將用戶訪 問的工作表所對(duì)應(yīng)的Sheet數(shù)組轉(zhuǎn)化成Sheet對(duì)象;相應(yīng)地,在保存工 作簿時(shí),只需要將用戶讀取過的、被加載的Sheet對(duì)象轉(zhuǎn)換成byte凄t組, 而對(duì)于沒有被加載的Sheet對(duì)象,由于它仍然為byte數(shù)組形式,因而不 需要重新生成,從而有效減少了內(nèi)存資源的占用,提高了電子表格文件 的處理效率。對(duì)于所述圖7和圖8所示實(shí)施例描述未詳盡之處,可以參見前述相 關(guān)部分的說明,本發(fā)明在此不贅述。可以理解的是,本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配 置中。例如個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平 板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消 費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng) 或設(shè)備的分布式計(jì)算環(huán)境等等。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的 一般上下文中 描述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定 抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分 布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模 塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。以上對(duì)本發(fā)明所提供的一種電子表格文件的讀取方法、 一種電子表 格文件的讀取裝置、 一種電子表格文件的保存方法、 一種電子表格文件 的保存裝置。 一種電子表格文件的處理方法以及一種電子表格文件的處 理裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施 方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及 其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想, 在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、 一種電子表格文件的讀取方法,其特征在于,包括 讀入電子表才各文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述 Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; 將所述Book數(shù)組加載為Book對(duì)象;根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組,并將所述Sheet 數(shù)組加載為Sheet對(duì)象。
2、 如權(quán)利要求1所述的讀取方法,其特征在于,還包括 將當(dāng)前缺省的Sheet數(shù)組加載為缺省Sheet對(duì)象。
3、 如權(quán)利要求1或2所述的讀取方法,其特征在于,所述確定Sheet 數(shù)組的步驟包括根據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的請(qǐng)求信息,所述請(qǐng)求 信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述Sheet數(shù)組。
4、 如權(quán)利要求l或2所述的讀取方法,其特征在于,還包括 刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組。
5、 一種電子表格文件的讀取裝置,其特征在于,包括 數(shù)組元素讀入單元,用于讀入電子表格文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book 對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; Book對(duì)象加載單元,用于將所述Book數(shù)組加載為Book對(duì)象; Sheet數(shù)組確定單元,用于根據(jù)用戶的工作表選定操作確定相應(yīng)的 Sheet數(shù)組;Sheet對(duì)象加載單元,用于將所述Sheet數(shù)組加載為Sheet對(duì)象。
6、 如權(quán)利要求5所述的讀取裝置,其特征在于,還包括缺省Sheet對(duì)象加載單元,用于將當(dāng)前缺省的Sheet數(shù)組加載為缺 省Sheet對(duì)象。
7、 如權(quán)利要求5或6所述的讀取裝置,其特征在于,所述Sheet數(shù)組確定單元包括請(qǐng)求子單元,用于根據(jù)用戶選定的工作表生成相應(yīng)Sheet數(shù)組的諱-求信息,所述請(qǐng)求信息包括所述Sheet數(shù)組的位置信息和標(biāo)識(shí)信息;定位子單元,用于根據(jù)Sheet數(shù)組的位置信息和標(biāo)識(shí)信息確定所述 Sheet數(shù)組。
8、 如權(quán)利要求5或6所述的讀取裝置,其特征在于,還包括 刪除單元,用于刪除所述已加載為Sheet對(duì)象的Sheet ^t組。
9、 一種電子表格文件的保存方法,其特征在于,包括 獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組,所述被加載的Sheet對(duì)象為根據(jù)用戶的工作表 選定操作確定的Sheet數(shù)組加載成的Sheet對(duì)象,所述Sheet數(shù)組為單個(gè) Sheet對(duì)象的byte數(shù)組;將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組,所述Book數(shù)組為Book對(duì)象 的byte數(shù)組;將所述^^皮加載的Sheet對(duì)象轉(zhuǎn)換成Sheet ^t組;組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加載的Sheet 數(shù)組。
10、 如權(quán)利要求9所述的保存方法,其特征在于,所述組合保存步 驟包括將所述Book數(shù)組保存為主文件;將所述Sheet數(shù)組保存為所述主文件相應(yīng)文件塊的內(nèi)容。
11、 如權(quán)利要求9所述的保存方法,其特征在于,所述組合保存步 驟包括根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù);將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù)中相應(yīng)字段的表數(shù)據(jù)。
12、 如權(quán)利要求9、 10或11所述的保存方法,其特征在于,所述 Sheet對(duì)象到Sheet數(shù)組的轉(zhuǎn)換為對(duì)所述sheet對(duì)象進(jìn)行序列化獲得。
13、 一種電子表格文件的保存裝置,其特征在于,包括 獲取單元,用于獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組,所述被加載的Sheet對(duì)象為根據(jù)用戶的工作表選定操作確定的Sheet數(shù)組加載成的Sheet對(duì)象,所述 Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組;Book數(shù)組轉(zhuǎn)換單元,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組,所 述Book數(shù)組為Book對(duì)象的byte數(shù)組;Sheet數(shù)組轉(zhuǎn)換單元,用于將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet 數(shù)組;組合保存單元,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組 和未^C加載的Sheet數(shù)組。
14、 如權(quán)利要求13所述的保存裝置,其特征在于,所述組合保存 單元包括Book文件保存子單元,用于將所述Book數(shù)組保存為主文件; Sheet文件保存子單元,用于將所述Sheet數(shù)組保存為所述主文件相 應(yīng)文件塊的內(nèi)容。
15、 如權(quán)利要求14所述的保存裝置,其特征在于,所述組合保存 單元包括Book數(shù)據(jù)庫(kù)生成子單元,用于根據(jù)所述Book數(shù)組生成數(shù)據(jù)庫(kù); Sheet數(shù)據(jù)庫(kù)保存子單元,用于將所述Sheet數(shù)組保存為所述數(shù)據(jù)庫(kù) 中相應(yīng)字段的表數(shù)據(jù)。
16、 一種電子表格文件的處理方法,其特征在于,包括 讀入電子表格文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book對(duì)象的byte數(shù)組,所述 Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; 將所述Book數(shù)組加載為Book對(duì)象;根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組,并將所述Sheet 數(shù)組加載為Sheet對(duì)象;獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及 未被加載的Sheet數(shù)組;將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組;將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組和未被加載的Sheet數(shù)組。
17、 如權(quán)利要求16所述的處理方法,其特征在于,還包括 刪除所述已加載為Sheet對(duì)象的Sheet數(shù)組。
18、 一種電子表格文件的處理裝置,其特征在于,包括 數(shù)組元素讀入單元,用于讀入電子表格文件的數(shù)組元素,所述數(shù)組元素包括Book數(shù)組及相應(yīng)的多個(gè)Sheet數(shù)組,所述Book數(shù)組為Book 對(duì)象的byte數(shù)組,所述Sheet數(shù)組為單個(gè)Sheet對(duì)象的byte數(shù)組; Book對(duì)象加載單元,用于將所述Book數(shù)組加載為Book對(duì)象; Sheet數(shù)組確定單元,用于根據(jù)用戶的工作表選定操作確定相應(yīng)的 Sheet數(shù)組;Sheet對(duì)象加載單元,用于將所述Sheet數(shù)組加載為Sheet對(duì)象; 獲取單元,用于獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;Book數(shù)組轉(zhuǎn)換單元,用于將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組; Sheet數(shù)組轉(zhuǎn)換單元,用于將所述^l加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存單元,用于組合保存所述Book數(shù)組、轉(zhuǎn)換后的Sheet數(shù)組 和未被加載的Sheet數(shù)組。
19、 如權(quán)利要求18所述的處理裝置,其特征在于,還包括 刪除單元,用于刪除所述已加載為Sheet對(duì)象的Sheet it組。
全文摘要
本發(fā)明公開了一種電子表格文件的處理方法,包括讀入電子表格文件的數(shù)組元素;將所述Book數(shù)組加載為Book對(duì)象;根據(jù)用戶的工作表選定操作確定相應(yīng)的Sheet數(shù)組,并將所述Sheet數(shù)組加載為Sheet對(duì)象;獲取需要保存的電子表格文件的Book對(duì)象、被加載的Sheet對(duì)象及未被加載的Sheet數(shù)組;將所述Book對(duì)象轉(zhuǎn)換成Book數(shù)組;將所述被加載的Sheet對(duì)象轉(zhuǎn)換成Sheet數(shù)組;組合保存所述數(shù)組。本發(fā)明讀取工作簿時(shí),并不需要將Book對(duì)象中所有的Sheet對(duì)象的byte數(shù)組轉(zhuǎn)化成Sheet對(duì)象,而只需要?jiǎng)討B(tài)地將用戶訪問的工作表所對(duì)應(yīng)的Sheet數(shù)組轉(zhuǎn)化成Sheet對(duì)象;在保存工作簿時(shí),只需要將用戶讀取過的、被加載的Sheet對(duì)象轉(zhuǎn)換成byte數(shù)組,而對(duì)于沒有被加載的Sheet對(duì)象不需要重新生成,從而有效減少了內(nèi)存資源占用,提高了處理效率。
文檔編號(hào)G06F17/21GK101145148SQ200710166039
公開日2008年3月19日 申請(qǐng)日期2007年10月30日 優(yōu)先權(quán)日2007年10月30日
發(fā)明者符修湖 申請(qǐng)人:金蝶軟件(中國(guó))有限公司