数字转换成excel列名(10进制到Excel的26进制的转换函数)

来源:互联网 发布:方维手机直播系统源码 编辑:程序博客网 时间:2024/05/22 00:43

真悲剧!自己写了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;

        }

原创粉丝点击