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

相关推荐
未来之窗软件服务16 小时前
幽冥大陆(二十九)监控平台协议常见地址——东方仙盟练气期
开发语言·php·东方仙盟·东方仙盟sdk·监控协议
拾忆,想起16 小时前
Dubbo网络延迟全链路排查指南:从微服务“快递”到光速传输
网络·网络协议·微服务·架构·php·dubbo
q***062920 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php
life码农20 小时前
在 Laravel框架 Blade 模板中显示原始的 {{ }} 符号的几种方法
php·laravel
Chef_Chen1 天前
数据科学每日总结--Day25--区块链
开发语言·php
chjqxxxx1 天前
php使用ffmpeg实现视频随机截图并转成图片
ffmpeg·php·音视频
小镇学者1 天前
【PHP】PHP WebShell(网页木马)分析
android·开发语言·php
come112341 天前
现代前端技术栈关系详解 (PHP 开发者特供版)
开发语言·前端·php
罗政1 天前
WPS Excel快速进行跨表数据合并
excel·wps
last demo1 天前
nfs服务器
linux·运维·服务器·php