Heim  >  Artikel  >  php教程  >  php的phpExcel类生成excel时列超过26大于Z时如何解决

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

WBOY
WBOYOriginal
2016-05-26 08:20:371754Durchsuche

本文我们来分享用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];  
}

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

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

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

PHPExcel_Cell::columnIndexFromString('AA');

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn