Home > php教程 > php手册 > body text

php的phpExcel类生成excel时列超过26大于Z时如何解决

WBOY
Release: 2016-05-26 08:20:37
Original
1761 people have browsed it

本文我们来分享用php的phpExcel类生成的excel当列名超过26列大于Z时的解决方法,供大家参考学习,我们生成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];  
}
Copy after login

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

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

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

PHPExcel_Cell::columnIndexFromString('AA');

希望本文所述对大家的php程序设计有所帮助.


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