這一節(jié)我們開始學(xué)習(xí)Excel另一類非常常見的函數(shù)—字符串函數(shù)。 在Excel中提供了非常豐富的字符串函數(shù),在NPOI中同樣得到了很好的支持,。 一、 大小寫轉(zhuǎn)換類函數(shù) LOWER(String):將一個(gè)文字串中的所有大寫字母轉(zhuǎn)換為小寫字母,。 UPPER(String):將文本轉(zhuǎn)換成大寫形式,。 PROPER(String):將文字串的首字母及任何非字母字符之后的首字母轉(zhuǎn)換成大寫。將其余的字母轉(zhuǎn)換成小寫,。 對(duì)應(yīng)的C#代碼與前幾節(jié)講的設(shè)置公式的代碼類似:
HSSFRow row1 = sheet1.CreateRow(0); row1.CreateCell(0).SetCellValue("待操作字符串"); row1.CreateCell(1).SetCellValue("操作函數(shù)"); row1.CreateCell(2).SetCellValue("操作結(jié)果");
HSSFRow row2 = sheet1.CreateRow(1); row2.CreateCell(0).SetCellValue("This is a NPOI example!"); row2.CreateCell(1).SetCellValue("LOWER(A2)"); //將此句中的“LOWER(A2)”換成UPPER (A2),、PROPER (A2)可以看到不同效果。 row2.CreateCell(2).SetCellFormula("LOWER(A2)");
二,、 取出字符串中的部分字符 LEFT(text,num_chars):LEFT(text,num_chars)其中Text是包含要提取字符的文本串,。Num_chars指定要由 LEFT 所提取的字符數(shù)。
MID(text,start_num,num_chars):MID(text,start_num,num_chars)其中Text是包含要提取字符的文本串,。Start_num是文本中要提取的第一個(gè)字符的位置,,num_chars表示要提取的字符的數(shù)。
RIGHT(text,num_chars):RIGHT(text,num_chars)其中Text是包含要提取字符的文本串,。Num_chars指定希望 RIGHT 提取的字符數(shù),。 代碼與上面類似,就不寫了,。
三,、 去除字符串的空白 TRIM(text):其中Text為需要清除其中空格的文本。需要注意的是,,與C#中的Trim不同,,Excel中的Trim函數(shù)不僅會(huì)刪除字符串頭尾的字符,字符串中的多余字符也會(huì)刪除,,單詞之間只會(huì)保留一個(gè)空格,。
四、 字符串的比較 EXACT(text1,text2):比較兩個(gè)字符串是否相等,,區(qū)分大小寫,。
執(zhí)行效果如下:
在此只簡單的講了一下常用的函數(shù),,Excel中還有很多的字符串函數(shù),在此附上,,讀者可以一個(gè)一個(gè)去測(cè)試,。
函數(shù)名 |
函數(shù)說明 |
語法 |
ASC |
將字符串中的全角(雙字節(jié))英文字母更改為半角(單字節(jié))字符。 |
ASC(text) |
CHAR |
返回對(duì)應(yīng)于數(shù)字代碼的字符,,函數(shù) CHAR 可將其他類型計(jì)算機(jī)文件中的代碼轉(zhuǎn)換為字符,。 |
CHAR(number) |
CLEAN |
刪除文本中不能打印的字符。對(duì)從其他應(yīng)用程序中輸入的字符串使用 CLEAN 函數(shù),,將刪除其中含有的當(dāng)前操作系統(tǒng)無法打印的字符,。例如,可以刪除通常出現(xiàn)在數(shù)據(jù)文件頭部或尾部,、無法打印的低級(jí)計(jì)算機(jī)代碼,。 |
CLEAN(text) |
CODE |
返回文字串中第一個(gè)字符的數(shù)字代碼。返回的代碼對(duì)應(yīng)于計(jì)算機(jī)當(dāng)前使用的字符集,。 |
CODE(text) |
CONCATENATE |
將若干文字串合并到一個(gè)文字串中,。 |
CONCATENATE (text1,text2,...) |
DOLLAR |
依照貨幣格式將小數(shù)四舍五入到指定的位數(shù)并轉(zhuǎn)換成文字。 |
DOLLAR 或 RMB(number,decimals) |
EXACT |
該函數(shù)測(cè)試兩個(gè)字符串是否完全相同,。如果它們完全相同,,則返回 TRUE;否則,,返回 FALSE,。函數(shù) EXACT 能區(qū)分大小寫,但忽略格式上的差異,。利用函數(shù) EXACT 可以測(cè)試輸入文檔內(nèi)的文字,。 |
EXACT(text1,text2) |
FIND |
FIND 用于查找其他文本串 (within_text) 內(nèi)的文本串 (find_text),并從 within_text 的首字符開始返回 find_text 的起始位置編號(hào),。 |
FIND(find_text,within_text,start_num) |
FIXED |
按指定的小數(shù)位數(shù)進(jìn)行四舍五入,,利用句點(diǎn)和逗號(hào),以小數(shù)格式對(duì)該數(shù)設(shè)置格式,,并以文字串形式返回結(jié)果,。 |
FIXED(number,decimals,no_commas) |
JIS |
將字符串中的半角(單字節(jié))英文字母或片假名更改為全角(雙字節(jié))字符。 |
JIS(text) |
LEFT |
LEFT 基于所指定的字符數(shù)返回文本串中的第一個(gè)或前幾個(gè)字符,。 LEFTB 基于所指定的字節(jié)數(shù)返回文本串中的第一個(gè)或前幾個(gè)字符,。此函數(shù)用于雙字節(jié)字符。 |
LEFT(text,num_chars) LEFTB(text,num_bytes) |
LEN |
LEN 返回文本串中的字符數(shù),。 LENB 返回文本串中用于代表字符的字節(jié)數(shù),。此函數(shù)用于雙字節(jié)字符。 |
LEN(text) LENB(text) |
LOWER |
將一個(gè)文字串中的所有大寫字母轉(zhuǎn)換為小寫字母,。 |
LOWER(text) |
MID |
MID 返回文本串中從指定位置開始的特定數(shù)目的字符,,該數(shù)目由用戶指定,。 MIDB 返回文本串中從指定位置開始的特定數(shù)目的字符,該數(shù)目由用戶指定,。此函數(shù)用于雙字節(jié)字符,。 |
MID(text,start_num,num_chars) MIDB(text,start_num,num_bytes) |
PHONETIC |
提取文本串中的拼音 (furigana) 字符。 |
PHONETIC(reference) |
PROPER |
將文字串的首字母及任何非字母字符之后的首字母轉(zhuǎn)換成大寫,。將其余的字母轉(zhuǎn)換成小寫,。 |
PROPER(text) |
REPLACE |
REPLACE 使用其他文本串并根據(jù)所指定的字符數(shù)替換某文本串中的部分文本。 REPLACEB 使用其他文本串并根據(jù)所指定的字符數(shù)替換某文本串中的部分文本,。此函數(shù)專為雙字節(jié)字符使用,。 |
REPLACE(old_text,start_num,num_chars,new_text) REPLACEB(old_text,start_num,num_bytes,new_text) |
REPT |
按照給定的次數(shù)重復(fù)顯示文本,??梢酝ㄟ^函數(shù) REPT 來不斷地重復(fù)顯示某一文字串,對(duì)單元格進(jìn)行填充,。 |
REPT(text,number_times) |
RIGHT |
RIGHT 根據(jù)所指定的字符數(shù)返回文本串中最后一個(gè)或多個(gè)字符,。 RIGHTB 根據(jù)所指定的字符數(shù)返回文本串中最后一個(gè)或多個(gè)字符。此函數(shù)用于雙字節(jié)字符,。 |
RIGHT(text,num_chars) RIGHTB(text,num_bytes) |
SEARCH |
SEARCH 返回從 start_num 開始首次找到特定字符或文本串的位置上特定字符的編號(hào),。使用 SEARCH 可確定字符或文本串在其他文本串中的位置,這樣就可使用 MID 或 REPLACE 函數(shù)更改文本,。 SEARCHB 也可在其他文本串 (within_text) 中查找文本串 (find_text),,并返回 find_text 的起始位置編號(hào)。此結(jié)果是基于每個(gè)字符所使用的字節(jié)數(shù),,并從 start_num 開始的,。此函數(shù)用于雙字節(jié)字符。此外,,也可使用 FINDB 在其他文本串中查找文本串,。 |
SEARCH(find_text,within_text,start_num) SEARCHB(find_text,within_text,start_num) |
SUBSTITUTE |
在文字串中用 new_text 替代 old_text。如果需要在某一文字串中替換指定的文本,,請(qǐng)使用函數(shù) SUBSTITUTE,;如果需要在某一文字串中替換指定位置處的任意文本,請(qǐng)使用函數(shù) REPLACE,。 |
SUBSTITUTE(text,old_text,new_text,instance_num) |
T |
將數(shù)值轉(zhuǎn)換成文本,。 |
T(value) |
TEXT |
將一數(shù)值轉(zhuǎn)換為按指定數(shù)字格式表示的文本。 |
TEXT(value,format_text) |
TRIM |
除了單詞之間的單個(gè)空格外,,清除文本中所有的空格,。在從其他應(yīng)用程序中獲取帶有不規(guī)則空格的文本時(shí),可以使用函數(shù) TRIM,。 |
TRIM(text) |
UPPER |
將文本轉(zhuǎn)換成大寫形式,。 |
UPPER(text) |
VALUE |
將代表數(shù)字的文字串轉(zhuǎn)換成數(shù)字,。 |
VALUE(text) |
WIDECHAR |
將單字節(jié)字符轉(zhuǎn)換為雙字節(jié)字符。 |
WIDECHAR(text) |
YEN |
使用 ¥(日?qǐng)A)貨幣格式將數(shù)字轉(zhuǎn)換成文本,,并對(duì)指定位置后的數(shù)字四舍五入,。 |
YEN(number,decimals) |
返回目錄
|