知识分类
后端
前端
设计
开源组件/产品
APP
其他
广告招募

php将数字转成EXCEL列名,支持大于26的数字

管理员
发布于:2024-10-18 19:10:07

直接上代码:


class Tool
{
    public function numToExcelLetter($num)
    {
        //由于大写字母只有26个,所以基数为26
        $base = 26;
        $result = '';

        while ($num > 0) {
            $mod = (int)($num % $base);
            $num = (int)($num / $base);

            if ($mod == 0) {
                $num -= 1;
                $temp = $this->numToLetter($base) . $result;
            } elseif ($num == 0) {
                $temp = $this->numToLetter($mod) . $result;
            } else {
                $temp = $this->numToLetter($mod) . $result;
            }
            $result = $temp;
        }

        return $result;
    }

    public function numToLetter($num)
    {
        if ($num == 0) {
            return '';
        }

        $num = (int)$num - 1;
        //获取A的ascii码
        $ordA = ord('A');
        return chr($ordA + $num);
    }
}

调用

    $tool = new Tool();
    $tool->numToExcelLetter(26);
上一篇:PBOOTCMS安全加固方法解析与实施指南
下一篇:webman 获取表中字段的详细方法
搜索内容
最新文章
  • 非可框架,懒人接口生成器应用发布,让
  • 爬虫监控就像给网站装心跳监测仪,非可
  • 非可框架,Google Authen
  • 连接WIFI出现无Internet
  • 免费AI SEO工具,SEO的AI生
  • OBS在银河麒麟或ubuntu等核心
  • 常见主板开机进入bios热键,一张图
  • 微软常用运行库VC++合集下载,解决
  • MSYS2中安装使用GCC的正确方法
  • 用了这些网站,多出来的时间让你摸鱼
精彩文章
  • 1 MSYS2中安装使用GCC的正确方法
  • 2 JavaScript 判断对象是否为
  • 3 连接WIFI出现无Internet
  • 4 什么是PHP站群以及使用php开源框
  • 5 Layui 怎么样更换主题颜色?
  • 6 常见主板开机进入bios热键,一张图
  • 7 FrameCoder非可,基于web
  • 8 小程序真机调试 报错 define
  • 9 vscode用一个插件快速生成Vue
  • 10 免费AI SEO工具,SEO的AI生
工信部备案:苏ICP备2023011827号-1
苏公网安备 32111202000338号