PHP Int与Excel列相互转换
简单PHP将Int类型数值转换为Excel表的列名称,PHP版本推荐7.2+
注意:本文的数值起始值为0
,而不是1
,有其他需求的根据实际情况做相应调整后再使用。
数值转换为Excel列
/**
* 数值转换为Excel列
*
* @author Wenhsing <wenhsing@qq.com>
*
* @param integer $num
* @return string
*/
function int2Excel(int $num)
{
$az = 26;
$m = (int)($num % $az);
$q = (int)($num / $az);
$letter = chr(ord('A') + $m);
if ($q > 0) {
return int2Excel($q - 1) . $letter;
}
return $letter;
}
Excel列转换为数值
/**
* Excel列转换为数值
*
* @author Wenhsing <wenhsing@qq.com>
*
* @param string $str
* @return integer
*/
function excel2Int(string $str)
{
$num = 0;
$strArr = str_split($str, 1);
$lenght = count($strArr);
foreach ($strArr as $k => $v) {
$num += ((ord($v) - ord('A') + 1) * pow(26, $lenght - $k - 1));
}
return $num - 1;
}
验证
echo excel2Int('AAC') . PHP_EOL;
echo int2Excel(704) . PHP_EOL;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)