php生成excel列名超过26列大于Z时的解决方法

  发布时间:   文章分类:编程语言 PHP 后端 浏览数: 777

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

本文实例讲述了php生成excel列名超过26列大于Z时的解决方法。分享给大家供大家参考。具体分析如下:

我们生成excel都会使用phpExcel类,这里就来给大家介绍在生成excel列名超过26列大于Z时的解决办法,这是phpExcel类中的方法,今天查到了,记录一下备忘,代码如下:

  1. public static function stringFromColumnIndex($pColumnIndex = 0)
  2. {
  3. // Using a lookup cache adds a slight memory overhead, but boosts speed
  4. // caching using a static within the method is faster than a class static,
  5. // though it's additional memory overhead
  6. static $_indexCache = array();
  7. if (!isset($_indexCache[$pColumnIndex])) {
  8. // Determine column string
  9. if ($pColumnIndex<26) {
  10. $_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex);
  11. } elseif ($pColumnIndex<702) {
  12. $_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) . chr(65 + $pColumnIndex % 26);
  13. } else {
  14. $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) . chr(65 + ((($pColumnIndex - 26) % 676) / 26)) . chr(65 + $pColumnIndex % 26);
  15. }
  16. }
  17. return $_indexCache[$pColumnIndex];
  18. }

将列的数字序号转成字母使用,代码如下:

  1. PHPExcel_Cell::stringFromColumnIndex($i); // 从o开始

将列的字母转成数字序号使用,代码如下:

  1. PHPExcel_Cell::columnIndexFromString('AA');

以上所述就是小编给大家介绍的《php生成excel列名超过26列大于Z时的解决方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 Coder·码农网 的支持!

码农可能感兴趣的文章:

本文永久链接:www.codercto.com/a/1721.html

相关码农书籍:
一路编程

一路编程

史蒂夫·富特 (Steven Foote) / 佟达 / 电子工业出版社 / 2017-1-1 / CNY 65.00

《一路编程》是一本编程入门书籍,然而,如果以书中所讲内容作为入门标准,估计十有八九的在职程序员都不能算已入门。现代软件开发,已经不仅仅是写出正确的代码这么简...

相关码农工具:
在线进制转换器

在线进制转换器

各进制数互转换器

HTML/CSS/JS 工具

HTML/CSS/JS 工具

在线执行 HTML/CSS/JS 代码

图片转BASE64编码

图片转BASE64编码

在线图片转Base64编码工具