專(zhuān)利名稱(chēng):電子表格的數(shù)據(jù)分割和合并方法
電子表格的數(shù)據(jù)分割和合并方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種電子表格數(shù)據(jù)處理方法及一種電子表格的數(shù)據(jù)分割和合并方法。
背景技術(shù):
電子表格(Spreadsheet)可以用于在電子設(shè)備中輸入輸出、顯示數(shù)據(jù),可以幫助用戶制作各種復(fù)雜的電子表格文檔,進(jìn)行數(shù)據(jù)計(jì)算,并能對(duì)輸入的數(shù)據(jù)進(jìn)行各種復(fù)雜統(tǒng)計(jì)運(yùn)算后顯示為表格。通常,電子表格具有許多以矩陣形式連續(xù)排列的單元格,數(shù)據(jù)可以顯示在電子表格中的各個(gè)單元格中。單元格的垂直排列稱(chēng)為“列”,水平排列稱(chēng)為“行”。由于從其他應(yīng)用程序中(例如網(wǎng)頁(yè)、開(kāi)發(fā)平臺(tái))復(fù)制的數(shù)據(jù)往往不符合電子表格的行列分隔格式,為了應(yīng)用,必須對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,例如Excel數(shù)據(jù)菜單下的分列功能,可 以對(duì)一定規(guī)律的數(shù)據(jù)進(jìn)行分隔處理。有時(shí),需要將電子表格的數(shù)據(jù)轉(zhuǎn)換成其他應(yīng)用對(duì)應(yīng)的分隔格式。數(shù)據(jù)項(xiàng)分隔格式的合理性,對(duì)數(shù)據(jù)的可讀性、直觀性有很大影響。合理的分隔格式減少了不必要的轉(zhuǎn)換工作,增強(qiáng)了可讀性,可理解性,使得用戶容易理解數(shù)據(jù)的意義,不易產(chǎn)生誤解。然而,在現(xiàn)有電子表格比如Excel中數(shù)據(jù)分割方式比較少,例如選擇性粘貼功能中只能將源數(shù)據(jù)進(jìn)行轉(zhuǎn)置,數(shù)據(jù)分列功能只能在一行中進(jìn)行分隔,例如當(dāng)用戶需要將單個(gè)單元格中有序的數(shù)據(jù)序列分隔時(shí),可以利用數(shù)據(jù)菜單中的“分列”功能使得數(shù)據(jù)按照某種規(guī)則分配至一行的多個(gè)單元格中。反之,稱(chēng)為數(shù)據(jù)合并。由于分隔格式較少,對(duì)數(shù)據(jù)的可讀性、直觀性有很大影響。因此,有必要提供一種新的技術(shù)方案來(lái)解決上述問(wèn)題。
發(fā)明內(nèi)容本部分的目的在于概述本發(fā)明的實(shí)施例的一些方面以及簡(jiǎn)要介紹一些較佳實(shí)施例。在本部分以及本申請(qǐng)的說(shuō)明書(shū)摘要和發(fā)明名稱(chēng)中可能會(huì)做些簡(jiǎn)化或省略以避免使本部分、說(shuō)明書(shū)摘要和發(fā)明名稱(chēng)的目的模糊,而這種簡(jiǎn)化或省略不能用于限制本發(fā)明的范圍。本發(fā)明的目的之一在于提供一種電子表格的數(shù)據(jù)分割方法,其可以實(shí)現(xiàn)電子表格數(shù)據(jù)的矩陣式分割,從而使電子表格數(shù)據(jù)的組織方式更加靈活,數(shù)據(jù)格式顯示更加直觀,便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。本發(fā)明的目的之二在于提供一種電子表格的數(shù)據(jù)合并方法,其可以實(shí)現(xiàn)電子表格數(shù)據(jù)的矩陣式合并,從而使電子表格數(shù)據(jù)的組織方式更加靈活,便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。為了達(dá)到本發(fā)明的目的,根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供一種電子表格的數(shù)據(jù)分割方法,所述電子表格包括多個(gè)單元格,所述方法包括設(shè)置行分隔符或行寬度和列分隔符或列寬度;讀入原始字符串;用所述行分隔符或行寬度將所述原始字符串劃分成若干子字符串,用所述列分隔符或列寬度分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng);和將各行各列的數(shù)據(jù)項(xiàng)保存到對(duì)應(yīng)的單元格中。根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明提供一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單兀格,其特征在于,所述方法包括設(shè)置行分隔符和列分隔符;分配字符串緩沖區(qū);逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符;在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明提供一種另一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單元格,所述方法包括設(shè)置行寬度和列寬度;分配字符串緩沖區(qū);逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每添加一個(gè)數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的數(shù)據(jù)項(xiàng)的寬度和等于所述列寬度,每添加完一行數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的一行數(shù)據(jù)項(xiàng)的寬度和等于所述行寬度;在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單兀格中。 與現(xiàn)有技術(shù)相比,在本發(fā)明中通過(guò)設(shè)置行分隔符和列分隔符或者設(shè)置行寬度或者列寬度,以實(shí)現(xiàn)電子表格數(shù)據(jù)的矩陣式合并或分隔,從而使電子表格數(shù)據(jù)的組織方式更加靈活,數(shù)據(jù)格式顯示更加直觀,便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。
結(jié)合參考附圖及接下來(lái)的詳細(xì)描述,本發(fā)明將更容易理解,其中同樣的附圖標(biāo)記對(duì)應(yīng)同樣的結(jié)構(gòu)部件,其中圖I為本發(fā)明中的電子表格的數(shù)據(jù)分割方法的一個(gè)實(shí)施例的流程示意圖;圖2為本發(fā)明中的電子表格的數(shù)據(jù)合并方法的一個(gè)實(shí)施例的流程示意圖;圖3A和圖3B為圖I和2中的電子表格的分割和合并方法的一個(gè)應(yīng)用示例;圖4為本發(fā)明中的電子表格的數(shù)據(jù)分割方法的另一個(gè)實(shí)施例的流程示意圖;圖5為本發(fā)明中的電子表格的數(shù)據(jù)合并方法的另一個(gè)實(shí)施例的流程示意圖;圖6A和圖6B為圖4和5中的電子表格的分割和合并方法的一個(gè)應(yīng)用不例。
具體實(shí)施方式本發(fā)明的詳細(xì)描述主要通過(guò)程序、步驟、邏輯塊、過(guò)程或其他象征性的描述來(lái)直接或間接地模擬本發(fā)明技術(shù)方案的運(yùn)作。為透徹的理解本發(fā)明,在接下來(lái)的描述中陳述了很多特定細(xì)節(jié)。而在沒(méi)有這些特定細(xì)節(jié)時(shí),本發(fā)明則可能仍可實(shí)現(xiàn)。所屬領(lǐng)域內(nèi)的技術(shù)人員使用此處的這些描述和陳述向所屬領(lǐng)域內(nèi)的其他技術(shù)人員有效的介紹他們的工作本質(zhì)。換句話說(shuō),為避免混淆本發(fā)明的目的,由于熟知的方法、程序、成分和電路已經(jīng)很容易理解,因此它們并未被詳細(xì)描述。此處所稱(chēng)的“一個(gè)實(shí)施例”或“實(shí)施例”是指可包含于本發(fā)明至少一個(gè)實(shí)現(xiàn)方式中的特定特征、結(jié)構(gòu)或特性。在本說(shuō)明書(shū)中不同地方出現(xiàn)的“在一個(gè)實(shí)施例中”并非均指同一個(gè)實(shí)施例,也不是單獨(dú)的或選擇性的與其他實(shí)施例互相排斥的實(shí)施例。此外,表示一個(gè)或多個(gè)實(shí)施例的方法、流程圖或功能框圖中的模塊順序并非固定的指代任何特定順序,也不構(gòu)成對(duì)本發(fā)明的限制。本發(fā)明中提供的電子表格的數(shù)據(jù)分割或/和合并方法的一個(gè)重點(diǎn)和亮點(diǎn)是通過(guò)設(shè)置行分隔符和列分隔符或者設(shè)置行寬度或者列寬度,以實(shí)現(xiàn)電子表格數(shù)據(jù)的矩陣式合并與分割,從而使電子表格數(shù)據(jù)的組織方式更加靈活,數(shù)據(jù)格式顯示更加直觀,便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。以下具體介紹電子表格以分隔符的方式進(jìn)行數(shù)據(jù)分隔與合并的方法。
請(qǐng)參考圖I所示,其示出了本發(fā)明中的電子表格以分隔符的方式進(jìn)行數(shù)據(jù)分隔的流程。如圖I所示,所述數(shù)據(jù)分割方法100包括如下步驟。步驟110,設(shè)置行分隔符和列分隔符。所述分隔符可以為逗號(hào)、分號(hào)、空格等各種符號(hào),但是行分隔符和列分隔符不能相同。步驟120,讀入原始字符串,該原始字符串中包括所述行分隔符、所述列分隔符和數(shù)據(jù)項(xiàng)。此步驟中,可以選定源單元格,讀入源單元格中存儲(chǔ)的原始字符串。步驟130,用所述行分隔符將所述原始字符串劃分成若干子字符串,用列所述列分隔符分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng)。步驟140,保存各行各列的數(shù)據(jù)項(xiàng)到對(duì)應(yīng)的單元格中。此時(shí),可以將不同的子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到不同行單元格中,將同一子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到同一行的不同列單元格中。在一個(gè)實(shí)施例中,在步驟110中設(shè)置行分隔符和列分隔符時(shí)還設(shè)置邊界符,所述邊界符包括首邊界符和尾邊界符。所述原始字符串也包括邊界符,在進(jìn)行行列分割時(shí)從首邊界符開(kāi)始進(jìn)行分割,到尾邊界符結(jié)束,即對(duì)所述原始字符串中的位于首邊界符和尾邊界符之間的部分進(jìn)行行列分割。當(dāng)然也可以不設(shè)置邊界符,默認(rèn)情況下沒(méi)有邊界符。圖3A和圖3B可以表示圖I中的數(shù)據(jù)分割方法的一個(gè)應(yīng)用示例,圖3A中為分割前的原始字符串,{I, 2,3;4, 5,6;7, 8,9},其中設(shè)置邊界符為“ {} ”,列分隔符為“,”,行分隔符為“;”在圖I中的所述分割方法后可以得到如圖3B所示的數(shù)據(jù)矩陣。具體分割過(guò)程為根據(jù)行分隔符“;”將原始字符串分割成1,2, 3、4,5, 6和7,8, 9三個(gè)子字符串,根據(jù)列分隔符“,”分別對(duì)三個(gè)子字符串進(jìn)行分割得到數(shù)據(jù)項(xiàng)“1”,“2”,……,“9”。在其它應(yīng)用中,也可以是其它類(lèi)型的行分隔符、列分隔符和邊界符號(hào),也可以沒(méi)有邊界符,數(shù)據(jù)項(xiàng)也可以是其他任意的數(shù)據(jù)項(xiàng)。請(qǐng)參考圖2所示,其示出了本發(fā)明中的電子表格以分隔符的方式進(jìn)行數(shù)據(jù)合并的流程。如圖2所示,所述數(shù)據(jù)合并方法200包括如下步驟。步驟210,設(shè)置行分隔符和列分隔符。分隔符可以為逗號(hào)、分號(hào)、空格等各種符號(hào),但是行分隔符和列分隔符不能相同。步驟220,分配字符串緩沖區(qū)。步驟230,逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符;步驟240,在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
在一個(gè)實(shí)施例中,在步驟210中設(shè)置行分隔符和列分隔符時(shí)還設(shè)置包括首邊界符和尾邊界符的邊界符,那么在讀取選定單元格區(qū)域內(nèi)的第一個(gè)數(shù)據(jù)項(xiàng)前,可以在所述字符串緩沖區(qū)中添加首邊界符,在讀取選定單元格區(qū)域內(nèi)的第一個(gè)數(shù)據(jù)項(xiàng)后,可以在所述字符串緩沖區(qū)中的字符串中添加尾邊界符。圖3A和圖3B也可以用來(lái)表示圖2中的數(shù)據(jù)合并方法的一個(gè)應(yīng)用示例,圖3B中為合并前的數(shù)據(jù)矩陣,選定的單元格區(qū)域包括Al、A2、A3、BI、B2、B3、Cl、C2、C3,設(shè)置邊界符為“H”,列分隔符為“,”,行分隔符為“;”,圖3A為合并后的結(jié)果,其中結(jié)果單元為Al。具體合并過(guò)程為先添加首邊界符,先讀取第一行第一列的數(shù)據(jù)項(xiàng)“ I”,之后在數(shù)據(jù)項(xiàng)“ I”后添加列分隔符“,”,在讀取第一行第二列的數(shù)據(jù)項(xiàng)“2”,……,在讀取第一行第三列的數(shù)據(jù)項(xiàng)“3”后,由于其是行尾數(shù)據(jù)項(xiàng)則在數(shù)據(jù)項(xiàng)“3”后添加行分隔符,……,在讀后第三行第三列的數(shù)據(jù)項(xiàng)“9”后,由于其是最后一個(gè)數(shù)據(jù)項(xiàng),則在該數(shù)據(jù)項(xiàng)“9”后添加尾邊界符。為了簡(jiǎn)便,在本發(fā)明中的圖I的數(shù)據(jù)分割方法和圖2中的數(shù)據(jù)合并方法采用了同樣的兩幅圖。在其它實(shí)施例子中,可以采用不同的應(yīng)用示例,邊界符和分隔符都可以改變,也可以不設(shè)置所述邊界符。
接下來(lái)介紹電子表格以固定寬度方式進(jìn)行數(shù)據(jù)分隔與合并的方法。請(qǐng)參考圖4所示,其示出了本發(fā)明中的電子表格以固定寬度方式進(jìn)行數(shù)據(jù)分隔的流程圖。如圖4所示,所述數(shù)據(jù)分割方法400包括以下步驟。步驟410,讀入原始字符串。選定源單元格,讀入源單元格中存儲(chǔ)的原始字符串。步驟420,設(shè)置行寬度和列寬度。步驟430,依據(jù)所述行寬度將所述原始字符串劃分成若干子字符串,根據(jù)所述列寬度分別將對(duì)應(yīng)子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng)。步驟440,保存各行各列的數(shù)據(jù)項(xiàng)到相應(yīng)的單元格中。將不同的子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到不同行單元格中,將同一子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到同一行的不同列單元格中。其中列寬度可以為多個(gè),比如第一列寬度,第二列寬度等等,以第一列寬度為列寬對(duì)各個(gè)子字符串進(jìn)行分割得到各個(gè)行的第一列,以第二列寬度為列寬對(duì)各個(gè)子字符串進(jìn)行第一列分割后剩余的部分進(jìn)行分割得到各個(gè)行的第二列,以此類(lèi)推。當(dāng)然,列寬度也可以是只有一個(gè)寬度,即所有的列寬都是相同的。圖6A和圖6B可以表示圖4中的數(shù)據(jù)分割方法的一個(gè)應(yīng)用示例,圖6A中為源單元格Al中的分割前的原始字符串1 2 3 4 5 6 7 8 a b cd,其中I和2之間有I個(gè)空格,2和3之間有3個(gè)空格,3和4之間有三個(gè)空格,4和5之間有I個(gè)空格,5和6之間有一個(gè)空格,6和7之間有兩個(gè)空格,7和8之間有三個(gè)空格,8和a之間有一個(gè)空格,a和b之間有一個(gè)空格,b和c之間有兩個(gè)空格,c和d之間有三個(gè)空格。設(shè)定行固定寬度為11個(gè)字符,設(shè)定第一列寬度為2個(gè)字符,第二列寬度為3個(gè)字符,第三個(gè)列寬度為4個(gè)字符,第四個(gè)列寬度為2個(gè)字符。因此,利用行固定寬度進(jìn)行分割后得到的三個(gè)子字符串為,I 2 3 4,5 6 7 SjPab c d。之后利用列固定寬度進(jìn)行分割后得到如圖6B所示的矩陣。請(qǐng)參考圖5所示,其示出了本發(fā)明中的電子表格以固定寬度方式進(jìn)行數(shù)據(jù)合并的流程圖。如圖5所示,所述數(shù)據(jù)合并方法500包括以下步驟。
步驟510,設(shè)置行寬度和列寬度。步驟520,分配字符串緩沖區(qū)。步驟530,逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每添加一個(gè)數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的數(shù)據(jù)項(xiàng)的寬度和等于所述列寬度,每添加完一行數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的一行數(shù)據(jù)項(xiàng)的寬度和等于所述行寬度。步驟540,在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。其中,所述列寬度大于等于最寬數(shù)據(jù)項(xiàng)的寬度,所述行寬度大于等于最寬行的寬 度。其中列寬度可以為多個(gè),比如第一列寬度,第二列寬度等等。圖6A和圖6B還可以表示圖5中的數(shù)據(jù)合并方法的一個(gè)應(yīng)用示例,圖6B中為合并前的數(shù)據(jù)矩陣,選定的單元格區(qū)域包括A1-A4,B1-B4,C1-C4和D1-D4,設(shè)定行固定寬度為11個(gè)字符,第一列寬度為2個(gè)字符,第二列寬度為3個(gè)字符,第三個(gè)列寬度為4個(gè)字符,第四個(gè)列寬度為2個(gè)字符。那么合并之后的字符串為I 2 3 4 5 6 7 8 a b c d,其中I和2之間有I個(gè)空格,2和3之間有3個(gè)空格,3和4之間有三個(gè)空格,4和5之間有I個(gè)空格,5和6之間有一個(gè)空格,6和7之間有兩個(gè)空格,7和8之間有三個(gè)空格,8和a之間有一個(gè)空格,a和b之間有一個(gè)空格,b和c之間有兩個(gè)空格,c和d之間有三個(gè)空格。在另一個(gè)實(shí)施例中,基于類(lèi)似原理,還可以采用固定寬度和分隔符的方式混合進(jìn)行數(shù)據(jù)分割和合并。在一個(gè)實(shí)施例中,先以分隔符的方式進(jìn)行分行,后以固定寬度的方式進(jìn)行分列。所述數(shù)據(jù)分割方法包括以下步驟設(shè)置行分隔符和列寬度;讀入原始字符串,該原始字符串中包括所述行分隔符;用所述行分隔符將所述原始字符串劃分成若干子字符串,用列寬度分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng);保存各行各列的數(shù)據(jù)項(xiàng)到對(duì)應(yīng)的單元格中。在另一個(gè)實(shí)施例中,也可以先以固定寬度的方式進(jìn)行分列,后以分隔符的方式進(jìn)行分列。所述數(shù)據(jù)分割方法包括以下步驟設(shè)置行寬度和列分隔符;讀入原始字符串,該原始字符串中包括所述列分隔符;用所述行寬度將所述原始字符串劃分成若干子字符串,用列分隔符分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng);保存各行各列的數(shù)據(jù)項(xiàng)到對(duì)應(yīng)的單元格中。在一個(gè)實(shí)施例中,所述數(shù)據(jù)合并方法包括設(shè)置行分隔符和列寬度;分配字符串緩沖區(qū);逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的數(shù)據(jù)項(xiàng)的寬度和等于所述列寬度,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符;在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。在另一個(gè)實(shí)施例中,所述電子表格的數(shù)據(jù)合并方法,所述方法包括設(shè)置列分隔符和行寬度;分配字符串緩沖區(qū);逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的一行數(shù)據(jù)項(xiàng)的寬度和等于所述行寬度;在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
本發(fā)明所述的電子表格數(shù)據(jù)處理系統(tǒng)可用于眾多通用或者專(zhuān)用的計(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)境等等。此外,所述電子表格數(shù)據(jù)處理系統(tǒng)還可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般的,程序模塊包括執(zhí)行特定任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。綜上所述,在本發(fā)明中通過(guò)設(shè)置行分隔符和列分隔符或者設(shè)置行寬度或者列寬度,以實(shí)現(xiàn)電子表格數(shù)據(jù)的矩陣式分隔,以擴(kuò)展了電子表格數(shù)據(jù)的分列功能,同時(shí)本發(fā)明還可以實(shí)現(xiàn)矩陣式數(shù)據(jù)的合并,使電子表格中的數(shù)據(jù)組織方式更加靈活,數(shù)據(jù)格式顯示更加直觀,便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。上述說(shuō)明已經(jīng)充分揭露了本發(fā)明的具體實(shí)施方式
。需要指出的是,熟悉該領(lǐng)域的 技術(shù)人員對(duì)本發(fā)明的具體實(shí)施方式
所做的任何改動(dòng)均不脫離本發(fā)明的權(quán)利要求書(shū)的范圍。相應(yīng)地,本發(fā)明的權(quán)利要求的范圍也并不僅僅局限于所述具體實(shí)施方式
。
權(quán)利要求
1.一種電子表格的數(shù)據(jù)分割方法,所述電子表格包括多個(gè)單兀格,其特征在于,所述方法包括 設(shè)置行分隔符或行寬度和列分隔符或列寬度; 讀入原始字符串; 用所述行分隔符或行寬度將所述原始字符串劃分成若干子字符串,用所述列分隔符或列寬度分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng);和 將各行各列的數(shù)據(jù)項(xiàng)保存到對(duì)應(yīng)的單元格中。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分割方法,其特征在于,將不同的子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到不同行單元格中,將同一子字符串的各個(gè)數(shù)據(jù)項(xiàng)保存到同一行的不同列單元格中。
3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分割方法,其特征在于,設(shè)置的是行分隔符和列分隔符,所述原始字符串中包括行分隔符和列分隔符,此時(shí)以行分隔符將所述原始字符串劃分成若干子字符串,用所述列分隔符分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng)。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分割方法,其特征在于,設(shè)置的是行分隔符和列寬度,所述原始字符串中包括行分隔符,此時(shí)以行分隔符將所述原始字符串劃分成若干子字符串,用所述列寬度分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng)。
5.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分割方法,其特征在于,設(shè)置的是行寬度和列分隔符,所述原始字符串中包括列分隔符,此時(shí)以行寬度將所述原始字符串劃分成若干子字符串,用所述列分隔符分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng)。
6.根據(jù)權(quán)利要求3所述的數(shù)據(jù)分割方法,其特征在于,在設(shè)置行分隔符和列分隔符時(shí)還設(shè)置邊界符,所述邊界符包括首邊界符和尾邊界符,所述原始字符串也包括邊界符,將所述原始字符串中的位于首邊界符和尾邊界符之間的部分進(jìn)行行列分割。
7.一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單元格,其特征在于,所述方法包括 設(shè)置行分隔符和列分隔符; 分配字符串緩沖區(qū); 逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符; 在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)合并方法,其特征在于,在設(shè)置行分隔符和列分隔符時(shí)還設(shè)置包括首邊界符和尾邊界符的邊界符,在讀取選定單元格區(qū)域內(nèi)的第一個(gè)數(shù)據(jù)項(xiàng)前,在所述字符串緩沖區(qū)中添加首邊界符,在讀取選定單元格區(qū)域內(nèi)的最后一個(gè)數(shù)據(jù)項(xiàng)后,在所述字符串緩沖區(qū)中的字符串中添加尾邊界符。
9.一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單兀格,其特征在于,所述方法包括 設(shè)置行寬度和列寬度; 分配字符串緩沖區(qū); 逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每添加一個(gè)數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的數(shù)據(jù)項(xiàng)的寬度和等于所述列寬度,每添加完一行數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的一行數(shù)據(jù)項(xiàng)的寬度和等于所述行寬度; 在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
10.一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單兀格,其特征在于,所述方法包括 設(shè)置行分隔符和列寬度; 分配字符串緩沖區(qū); 逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的數(shù)據(jù)項(xiàng)的寬度和等于所述列寬度,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符; 在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
11.一種電子表格的數(shù)據(jù)合并方法,所述電子表格包括多個(gè)單兀格,其特征在于,所述方法包括 設(shè)置列分隔符和行寬度; 分配字符串緩沖區(qū); 逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)就補(bǔ)足一定數(shù)量的空格以使得補(bǔ)充的空格與所添加的一行數(shù)據(jù)項(xiàng)的寬度和等于所述行寬度; 在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中。
全文摘要
本發(fā)明公開(kāi)了一種電子表格的數(shù)據(jù)分割和合并方法。所述數(shù)據(jù)分割方法用行分隔符或行寬度將原始字符串劃分成若干子字符串,用列分隔符或列寬度分別將對(duì)應(yīng)的子字符串繼續(xù)劃分成數(shù)據(jù)項(xiàng),隨后將各行各列的數(shù)據(jù)項(xiàng)保存到對(duì)應(yīng)的單元格中,這樣實(shí)現(xiàn)了電子表格數(shù)據(jù)的矩陣式分隔。所述數(shù)據(jù)合并方法逐行逐列讀取選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)到所述字符串緩沖區(qū),每讀取一個(gè)數(shù)據(jù)項(xiàng)后添加一個(gè)列分隔符或補(bǔ)充一定數(shù)量的空格,每遇到一個(gè)行尾數(shù)據(jù)項(xiàng)添加一個(gè)行分隔符或補(bǔ)充一定數(shù)據(jù)量空格,在讀完選定單元格區(qū)域內(nèi)的數(shù)據(jù)項(xiàng)后,將所述字符串緩沖區(qū)中得到的字符串存儲(chǔ)到結(jié)果單元格中,這樣就實(shí)現(xiàn)了矩陣式數(shù)據(jù)的合并。這樣便于和其他矩陣或向量形式的數(shù)據(jù)應(yīng)用進(jìn)行交換。
文檔編號(hào)G06F17/24GK102799574SQ201210226050
公開(kāi)日2012年11月28日 申請(qǐng)日期2012年6月29日 優(yōu)先權(quán)日2012年6月29日
發(fā)明者俞志剛 申請(qǐng)人:無(wú)錫永中軟件有限公司