close
由於Excel 2007工作表的可寫入範圍大於舊版太多,因此欄位最多有3個英文字(舊版Excel只有2個英文字),舊程式無法處理到第3個英文字
Excel 2007欄位最大有16384欄,英文編碼到XFD。這篇文章是針對Excel 2007的英文欄位編碼規則再做修正
完成的全部程式如下,原理依然是將數值換算為ASCII碼再轉換為英文字母
由左至右分段解說
最左邊計算判斷欄位英文是否為1個英文字母,後面接Case Structurs分別處理判斷後的結果
若欄位英文是1個英文字母,Case Structurs的True內,數值直接加上64(英文大寫字母的ASCII碼)後轉為陣列
若欄位英文是2個以上英文字母,Case Structurs的False內,數值除以26求餘數,再加上64(英文大寫字母的ASCII碼)
商數則再計算判斷欄位英文是否為1個英文字母,後面接Case Structurs分別處理判斷後的結果。若欄位英文是1個英文字母,Case Structurs的True內,數值直接加上64(英文大寫字母的ASCII碼)後轉為陣列。然後和餘數算出的數值合成1D陣列
若商數欄位英文是2個以上英文字母,Case Structurs的False內,數值除以26求商數、餘數,分別加上64(英文大寫字母的ASCII碼),再合成1D陣列。然後和上上一步餘數算出的數值合成1D陣列
最後英文大寫字母ASCII碼的1D陣列再轉換為英文字母
文章標籤
全站熱搜
留言列表