Powershell "Column Number" to Letter(数字转英文字母)

直接上代码:

function ColumnLetter(){

    param([System.Int32]$ColumnNumber)

    $n = $ColumnNumber;

    do{

        $c = (($n - 1) % 26);

        $s = [System.Char]::ConvertFromUtf32($c + 65) + $s;

        #$n = (n - $c) \ 26

        $n = (($n - $c) - ($n - $c) % 26) / 26

    }while ($n -gt 0)

    return $s;

}

Write-Host (ColumnLetter -ColumnNumber 57)

输出结果:


这里的

$n = (($n - $c) - ($n - $c) % 26) / 26

因为powershell 应该写整除,即($n - $c) \ 26, 但是因为找不到整除的符号,跟 (X - (X除以的余数)) / 26的效果一样

我们试一下在excel 的BE列随便一个单元格输入 =column():


果然是57

你可能感兴趣的:(Powershell "Column Number" to Letter(数字转英文字母))