之前设置excel表头,都是用下面的代码,由于列数都在26之内,所以没有发现什么问题。

//======= 设置表头 ==============
$span = ord("A");
foreach ($header as $value) {
$column = chr($span);
$objActSheet->setCellValue($column . '1', $value);
$span += 1;
}

这种方式是先把字母转换成ASCII码,加1算出下一个字母的ASCII码,再转换成字符。可是,当字母是【Z】时,计算下一个字母时就会出错了。

处理excel表的列

而excel表的列名如下图:

处理excel表的列

 

经过我尝试了一下,发现如下代码可以解决问题:

处理excel表的列

所以,代码需要改成下图这样:

//======= 设置表头 ==============
$column = 'A';
foreach ($header as $value) {
$objActSheet->setCellValue($column . '1', $value);
$column++;
}

 

相关文章:

  • 2022-12-23
  • 2021-12-28
  • 2021-04-03
  • 2021-08-11
  • 2021-06-15
  • 2021-08-25
  • 2021-05-08
  • 2021-07-20
猜你喜欢
  • 2021-07-14
  • 2021-07-24
  • 2021-06-22
  • 2021-07-22
  • 2021-12-18
相关资源
相似解决方案