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中图四)

相关推荐
淼淼爱喝水几秒前
DVWA和Pikachu命令注入漏洞检测实验
安全·web安全·php·pikachu·dvwa
专注VB编程开发20年35 分钟前
json和python元组,列表,字典对比
开发语言·python·json·php
怀旧,1 小时前
【Linux网络编程】15. Reactor 反应堆模式
linux·网络·php
Dylan的码园2 小时前
2026年免费远程控制软件哪个好?ToDesk向日葵UU远程免费版横评,不限次数不限时长
服务器·开发语言·php
dog2502 小时前
解析几何的力量(1)
服务器·开发语言·网络·php
99乘法口诀万物皆可变2 小时前
BMS HIL 自动化测试框架方案(基于 CANoe + C# + Excel)
开发语言·c#·excel
号码认证服务3 小时前
如何让来电显示公司名代替陌生数字号码?企业号码认证开通指南
服务器·c语言·网络·经验分享·智能手机·云计算·php
一念春风3 小时前
QwenPaw(替代小龙虾)大模型
开发语言·php
清山博客3 小时前
Python调整EXCEL内容高度
excel
anlog3 小时前
excel计算今天的日期加上n天后的日期
excel·日期计算·今天日期