EXCEL列名-数字字母转换

// Convert A, B, .... AAA, AAB to number 1,2, ...          
int StringToNumber(string s)   
        {   
            int r = 0 ;   
            for (int i = 0; i < s.Length; i++)   
            {   
                r = r * 26 + s[i] - 'A' + 1;   
            }   
            return r ;   
        }   
  
// Convert number 1, 2, ... to string A, B, ...   
        static string NumbertoString(int n)   
  
         {              
             string s = "" ;     // result   
             int r = 0 ;         // remainder   
  
             while(n != 0)   
             {   
                 r = n % 26 ;   
                 char ch = ' ' ;   
                 if(r == 0)   
                     ch = 'Z' ;   
                 else 
                    ch = (char)(r - 1 + 'A') ;   
                    s = ch.ToString() + s; 
                 if(s[0] == 'Z')   
                     n = n / 26 - 1 ;   
                 else  
                     n /= 26 ;   
             }   
             return s ;   
         } 

 

posted @ 2012-11-08 11:17  vayne  阅读(182)  评论(0编辑  收藏  举报