All the generated excel files use the phpExcel class. Here we will introduce the solution when the generated excel column name is greater than 26 columns and greater than Z. This is the method in the phpExcel class. I found it today, record the memo. The code is as follows:
The code is as follows: |
Copy code |
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]; } |
Use the following code to convert the number of a column to a letter:
The code is as follows: |
Copy code |
PHPExcel_Cell: stringFromColumnIndex ($ I); // starts from o |
Use the following code to convert a column's letters into numbers:
The code is as follows: |
Copy code |
PHPExcel_Cell: columnIndexFromString ('A '); |
I hope this article will help you with php programming.