1. 程式人生 > >數字轉換成excel列名(10進位制到Excel的26進位制的轉換函式)

數字轉換成excel列名(10進位制到Excel的26進位制的轉換函式)

真悲劇!自己寫了3個小時 這個東西居然沒寫出來!汗死!!!!

不過找到了答案,在網上找了好久好多有意思的演算法,但是遇到以Z 結尾的列名時計算錯誤

共享出來大家一起用吧!

        /// <summary>

        /// 將 Excle 列索引轉換成列名稱

        /// </summary>

        /// <param name="colIndex">列索引</param>

        /// <returns></returns>

        public string ConvertToColName(int colIndex)

        {

            string strRtn = "";

            if (colIndex <= 0)

                return "";

            int numMod = 0;

            int numTemp = colIndex;

            char ch = 'A';

            do

            {

                numMod = numTemp % 26;

                numTemp = numTemp / 26;

                if (numMod == 0)

                {

                    ch = 'Z';

                    numTemp--;

                }

                else

                    ch = (char)('A' + numMod - 1);

                strRtn = ch + strRtn;

            }

            while (numTemp > 0);

            return strRtn;

        }