程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php生成excel列名,超過26列大於Z問題解決辦法

php生成excel列名,超過26列大於Z問題解決辦法

編輯:關於PHP編程

我們生成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 {
                $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) .
                                              chr(65 + ((($pColumnIndex - 26) % 676) / 26)) .
                                              chr(65 + $pColumnIndex % 26);
            }
        }
        return $_indexCache[$pColumnIndex];
    }

將列的數字序號轉成字母使用:

 代碼如下 復制代碼

PHPExcel_Cell::stringFromColumnIndex($i); // 從o開始

將列的字母轉成數字序號使用:

 代碼如下 復制代碼

PHPExcel_Cell::columnIndexFromString(‘AA’);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved