Home > php教程 > php手册 > php生成excel列名,超过26列大于Z问题解决办法

php生成excel列名,超过26列大于Z问题解决办法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-05-25 16:37:58
Original
1810 people have browsed it

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

public static function stringFromColumnIndex($pColumnIndex = 0)  
{  
    //  Using a lookup cache adds a slight memory overhead, but boosts speed  
    //  caching using a static within the method is faster than a class static,  
    //      though it's additional memory overhead  
    static $_indexCache = array();  
    if (!isset($_indexCache[$pColumnIndex])) {  
        // Determine column string  
        if ($pColumnIndex < 26) {  
            $_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex);  
        } elseif ($pColumnIndex < 702) {  
            $_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) .  
                                          chr(65 + $pColumnIndex % 26);  
        } else { //开源代码phprm.com 
            $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) .  
                                          chr(65 + ((($pColumnIndex - 26) % 676) / 26)) .  
                                          chr(65 + $pColumnIndex % 26);  
        }  
    }  
    return $_indexCache[$pColumnIndex];  
}
Copy after login

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

PHPExcel_Cell::stringFromColumnIndex($i); // 从0开始

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

PHPExcel_Cell::columnIndexFromString(‘AA’);


文章地址:

转载随意^^请带上本文地址!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template