PHP将整形数字转为Excel下标

1、背景

这两天在接到一个需求,需要导出一个班级所有学员的所有成绩,在最后excel表处理的时候发现导出的列超过了26列,后面会出现AA之类的下标,所以写了一个函数把数字整型转为Excel对应的下标。

2、转换函数

复制代码
/**
 * @Notes:将整数转为excel对应的列标
 * @Function int_to_chr
 * @param $index
 * @param $start
 * @return string
 * @Author gxk
 * @Date 2024/10/16
 * @Time 17:53
 */
function int_to_chr($index,$start=65) {
    $str = '';
    if($index >= 26){
        $les = $index % 26;
        $index = intval($index/26);
        $str .= int_to_chr($index-1);
        $str .= chr($start+$les);
        return $str;
    }
    return chr($start+$index).$str;
}

3、测试函数

复制代码
for ($i = 0; $i < 1352; $i++){
    dump($i."=>".int_to_chr($i));
}

4、测试结果(不分截图)

5、注意事项

(1)需要在传入的下标时候需要减一(因为转换函数的开始时A:65),在计算超过两个字符串(AA)的时候会出现第二位是0开始的,如果没有减一,就会出现偏差;

(2)检测的时候主要查看几个关键的部分,0是否转为A (4中图一),Z 的下一个是否为AA(4中图二)、AZ 的下一个是否为BA(4中图三)、ZZ的下一个是否为AAA(4中图四)

相关推荐
远洪9 小时前
excel 找出两列不同的数据
excel
pcplayer10 小时前
非常好用的 Excel 读写控件
excel·delphi·office
合天网安实验室10 小时前
记录一个免杀的php webshell demo
渗透测试·php·webshell·免杀
AnalogElectronic11 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
跨境数据猎手12 小时前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
淘矿人13 小时前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame
Navicat中国13 小时前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
带娃的IT创业者15 小时前
深度解析:从零构建高性能 LLM API 中转网关与成本优化实战
开发语言·gpt·llm·php·高性能·成本优化·api网关
穿着内裤的外星人16 小时前
触控精灵远程读写Excel步骤配置
excel
墨染天姬16 小时前
[AI]DeepSeek-R1的GRPO算法
人工智能·算法·php