PHP输出Excel的列:A……Z,AA……AZ,BA……BZ……IV

  • 直接上代码
  • 基本思路
  • 把这个当作两个字符去输出。
  • 函数chr()和ord()的使用
  • 题外话


直接上代码

$firstColumn = 'A';
for($i=0;$i<=100;$i++){
	$k = floor($i / 26);
	$firstNum = '';
	if ($k > 0) {
		# 当$k等于1,第一个列标签还是A,所以需要减去1
		$firstNum = chr(ord($firstColumn) + $k - 1);
	}
	$secondKey = $i % 26;
	$secondNum = chr(ord($firstColumn) + $secondKey);
	$column = $firstNum.$secondNum;
	if ($column == 'IV') {
		throw new Exception('超出Excel范围');
	}
	echo $column.PHP_EOL;
}

基本思路

把这个当作两个字符去输出。

第一个字符只有当第二个字符第一次在A-Z之间,第一个字符都是空;
这是一个关键点。

函数chr()和ord()的使用

题外话

如果是PHP导出Excel时候,直接下面即可,PHP语言的有这种设置

$a = 'A';
foreach($list as $val) {
	$column = $a++;
}


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: php