今天遇到需要生成对应的下拉,下拉的类 需要PHP 输出一个数组 如 A、B、C、D 到Z 列后
Excel 的列就变成 AA 、AB、 AC 依次类推
查询得知 Excel 最大列数 16384 最大行数 1048576
下面演示3000列或行
<?php$idx = ['idx' => 0];for ($i = 0; $i < 3000; $i++) {echo getNextIdx($idx);echo '<br>';}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;}
运行效果如下