2.3.4 用NPOI操作EXCEL--字串函數

來源:互聯網
上載者:User

      這一節我們開始學習Excel另一類非常常見的函數—字串函數。 在Excel中提供了非常豐富的字串函數,在NPOI中同樣得到了很好的支援。
一、 大小寫轉換類函數
      LOWER(String):將一個文字串中的所有大寫字母轉換為小寫字母。
      UPPER(String):將文本轉換成大寫形式。
      PROPER(String):將文字串的首字母及任何非字母字元之後的首字母轉換成大寫。將其餘的字母轉換成小寫。
      對應的C#代碼與前幾節講的設定公式的代碼類似:

HSSFRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("待操作字串");
row1.CreateCell(1).SetCellValue("操作函數");
row1.CreateCell(2).SetCellValue("操作結果");

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 所提取的字元數。

      MID(text,start_num,num_chars):MID(text,start_num,num_chars)其中Text是包含要提取字元的文本串。Start_num是文本中要提取的第一個字元的位置,num_chars表示要提取的字元的數。

      RIGHT(text,num_chars):RIGHT(text,num_chars)其中Text是包含要提取字元的文本串。Num_chars指定希望 RIGHT 提取的字元數。
      代碼與上面類似,就不寫了。

三、 去除字串的空白
      TRIM(text):其中Text為需要清除其中空格的文本。需要注意的是,與C#中的Trim不同,Excel中的Trim函數不僅會刪除字串頭尾的字元,字串中的多餘字元也會刪除,單詞之間只會保留一個空格。

四、 字串的比較
      EXACT(text1,text2):比較兩個字串是否相等,區分大小寫。

      執行效果如下:

      在此只簡單的講了一下常用的函數,Excel中還有很多的字串函數,在此附上,讀者可以一個一個去測試。

函數名 函數說明 文法
ASC 將字串中的全形(雙位元組)英文字母更改為半形(單位元組)字元。 ASC(text)
CHAR 返回對應於數字代碼的字元,函數 CHAR 可將其他類型電腦檔案中的代碼轉換為字元。 CHAR(number)
CLEAN 刪除文本中不能列印的字元。對從其他應用程式中輸入的字串使用 CLEAN 函數,將刪除其中含有的當前作業系統無法列印的字元。例如,可以刪除通常出現在資料檔案頭部或尾部、無法列印的低級電腦代碼。 CLEAN(text)
CODE 返迴文字串中第一個字元的數字代碼。返回的代碼對應於電腦當前使用的字元集。 CODE(text)
CONCATENATE 將若干文字串合并到一個文字串中。 CONCATENATE (text1,text2,...)
DOLLAR 依照貨幣格式將小數四捨五入到指定的位元並轉換成文字。 DOLLAR 或 RMB(number,decimals)
EXACT 該函數測試兩個字串是否完全相同。如果它們完全相同,則返回 TRUE;否則,返回 FALSE。函數 EXACT 能區分大小寫,但忽略格式上的差異。利用函數 EXACT 可以測試輸入文檔內的文字。 EXACT(text1,text2)
FIND FIND 用於尋找其他文本串 (within_text) 內的文本串 (find_text),並從 within_text 的首字元開始返回 find_text 的起始位置編號。 FIND(find_text,within_text,start_num)
FIXED 按指定的小數位元進行四捨五入,利用句點和逗號,以小數格式對該數設定格式,並以文字串形式返回結果。 FIXED(number,decimals,no_commas)
JIS 將字串中的半形(單位元組)英文字母或片假名更改為全形(雙位元組)字元。 JIS(text)
LEFT LEFT 基於所指定的字元數返迴文本串中的第一個或前幾個字元。
LEFTB 基於所指定的位元組數返迴文本串中的第一個或前幾個字元。此函數用於雙位元組字元。
LEFT(text,num_chars)
LEFTB(text,num_bytes)
LEN LEN 返迴文本串中的字元數。
LENB 返迴文本串中用於代表字元的位元組數。此函數用於雙位元組字元。
LEN(text)
LENB(text)
LOWER 將一個文字串中的所有大寫字母轉換為小寫字母。 LOWER(text)
MID MID 返迴文本串中從指定位置開始的特定數目的字元,該數目由使用者指定。
MIDB 返迴文本串中從指定位置開始的特定數目的字元,該數目由使用者指定。此函數用於雙位元組字元。
MID(text,start_num,num_chars)
MIDB(text,start_num,num_bytes)
PHONETIC 提取文本串中的拼音 (furigana) 字元。 PHONETIC(reference)
PROPER 將文字串的首字母及任何非字母字元之後的首字母轉換成大寫。將其餘的字母轉換成小寫。 PROPER(text)
REPLACE REPLACE 使用其他文本串並根據所指定的字元數替換某文本串中的部分文本。
REPLACEB 使用其他文本串並根據所指定的字元數替換某文本串中的部分文本。此函數專為雙位元組字元使用。
REPLACE(old_text,start_num,num_chars,new_text)
REPLACEB(old_text,start_num,num_bytes,new_text)
REPT 按照給定的次數重複顯示文本。可以通過函數 REPT 來不斷地重複顯示某一文字串,對儲存格進行填充。 REPT(text,number_times)
RIGHT RIGHT 根據所指定的字元數返迴文本串中最後一個或多個字元。
RIGHTB 根據所指定的字元數返迴文本串中最後一個或多個字元。此函數用於雙位元組字元。
RIGHT(text,num_chars)
RIGHTB(text,num_bytes)
SEARCH SEARCH 返回從 start_num 開始首次找到特定字元或文本串的位置上特定字元的編號。使用 SEARCH 可確定字元或文本串在其他文本串中的位置,這樣就可使用 MID 或 REPLACE 函數更改文本。
SEARCHB 也可在其他文本串 (within_text) 中尋找文本串 (find_text),並返回 find_text 的起始位置編號。此結果是基於每個字元所使用的位元組數,並從 start_num 開始的。此函數用於雙位元組字元。此外,也可使用 FINDB 在其他文本串中尋找文本串。
SEARCH(find_text,within_text,start_num)
SEARCHB(find_text,within_text,start_num)
SUBSTITUTE 在文字串中用 new_text 替代 old_text。如果需要在某一文字串中替換指定的文本,請使用函數 SUBSTITUTE;如果需要在某一文字串中替換指定位置處的任意文本,請使用函數 REPLACE。 SUBSTITUTE(text,old_text,new_text,instance_num)
T 將數值轉換成文本。 T(value)
TEXT 將一數值轉換為按指定數字格式表示的文本。 TEXT(value,format_text)
TRIM 除了單詞之間的單個空格外,清除文本中所有的空格。在從其他應用程式中擷取帶有不規則空格的文本時,可以使用函數 TRIM。 TRIM(text)
UPPER 將文本轉換成大寫形式。 UPPER(text)
VALUE 將代表數位文字串轉換成數字。 VALUE(text)
WIDECHAR 將單位元組字元轉換為雙位元組字元。 WIDECHAR(text)
YEN 使用 ¥(日圓)貨幣格式將數字轉換成文本,並對指定位置後的數字四捨五入。 YEN(number,decimals)

 

返回目錄

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.