php - 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
不幸的是,我无法编写合适的算法。请你帮助我好吗?先感谢您。
解决方案
下面的示例代码,
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;
}
推荐阅读
- powershell - 您如何提取事件和 ServiceRequest 的“由用户创建”属性?
- javascript - jQuery无法获取数据属性,返回未定义
- c++ - GCC和Clang中的模板类如何继承子类
- c# - 如何在我的 BackgroundWorker 完成之前删除 SynchronizationContext?
- android - 使用颤振 wifi 包获取类型错误
- java - java - 如何在java中的放心测试中通过标头
- unit-testing - 如何用 Sinon 解决 NodeJS 的内置函数?
- javascript - 如何显示/隐藏 div 点击图片
- c# - 如何让 People.GetBatchGet() 返回特定尺寸的照片
- javascript - 添加相同部分jQuery后如何用数字增加名称属性