首页 > 解决方案 > PHP:从列标题中查找电子表格(例如 Excel / LibreOffice Calc)列号

问题描述

我需要编写一个 PHP 函数来从其列名中获取电子表格的列号(例如 'A' = 1, 'B' = 2, 'Z' = 26, 'AA' = 27, 'BE' = 57, ' CW' = 101,'ZZ' = 702,'CDA' = 2133,...)

function get_col_number_from_name($col_name)
{
    // do something to determine $col_number from $col_name...

    return $col_number;
}

例如get_col_number_from_name('BE')必须返回 57

不幸的是,我无法编写合适的算法。请你帮助我好吗?先感谢您。

标签: php

解决方案


下面的示例代码,

function get_col_number_from_name($col_name)
{
    $l = strlen($col_name);
    $col_number = 0;

    for ($i = 0; $i < $l; $i++) {
        $col_number = $col_number * 26 + ord($col_name[$i]) - 0x40;
    }

    return $col_number;
}

推荐阅读