php生成连续递增的excel列索引

PHPExcel_IOFactory导出excel之列索引

    • 生成连续递增的excel列索引

生成连续递增的excel列索引

俺其实是学java的,最近工作需要用到了php,有个导出excel的功能,改动贼频繁,一整就往中间差字段,原来的人写的列是固定的,AA就是AA,AB就是AB,特别傻。。,网上找了下相关setCellValue递增下标的api没找着。本来想用数组来弄下标取值的,后来想想虽然能行但也挺二笔的(列数不定),所以搞个递增的取excel列索引函数,大概是这样的


    $idx = ['idx' => 0];

    for ($i = 0; $i < 3000; $i++) {
        echo getNextIdx($idx);
        echo '
'
; } function getNextIdx(&$idx) { // 先转换26进制 $num26 = base_convert($idx['idx'], 10, 26); $result = ''; // 对每一位进行字符转换 for ($i = 0; $i < strlen(strval($num26)); $i++) { if ($i == 0 && strlen(strval($num26)) != 1) { if (is_numeric($num26[$i])) { $result.= chr(ord($num26[$i]) + 16); } else { $result.= chr(ord($num26[$i]) - 23); } } else { if (is_numeric($num26[$i])) { $result.= chr(ord($num26[$i]) + 17); } else { $result.= chr(ord($num26[$i]) - 22); } } } $idx['idx'] = $idx['idx'] + 1; return $result; } ?>

输出大概是这样的
php生成连续递增的excel列索引_第1张图片
要是有啥好法子告诉我下。。php是真不会写了

你可能感兴趣的:(php生成连续递增的excel列索引)