dd

数字转字母,生成Excel列标

jerry thinkphp 2015年11月18日 收藏
在做Excel上传解析时,为了动态配置Excel与数据库表对应关系,由数组索引关联到Excel的某一列,需要将索引值转换为Excel列标,所以就写了这个方法,现在把代码帖出来,如果有更好的方法还请分享下,谢谢!
    /**
     * 数字转字母 (类似于Excel列标)
     * @param Int $index 索引值
     * @param Int $start 字母起始值
     * @return String 返回字母
     * @author Anyon Zou <Anyon@139.com>
     * @date 2013-08-15 20:18
     */
    function IntToChr($index, $start = 65) {
        $str = '';
        if (floor($index / 26) > 0) {
            $str .= IntToChr(floor($index / 26)-1);
        }
        return $str . chr($index % 26 + $start);
    }

    /**
     * 测试
     */
    function test() {
        echo IntToChr(0); //# A
        echo IntToChr(1); //# B
        // ...
        echo IntToChr(27); //# AB
    }
dd