Location: PHPKode > scripts > Excel XML Parser > excel-xml-parser/ExcelXMLRow.php
<?php
/*
* ============================================================================
*
* @name ExcelXMLRow.php
*
* @author Andrew A. Aculana
* @version 2.0
* @license		http://opensource.org/licenses/gpl-license.php GNU Public License
* @date 2006-05-22
*
* ============================================================================
*
* License:	GNU Lesser General Public License (LGPL)
*
* Copyright (c) 2004 LINK2SUPPORT INC.  All rights reserved.
*
* This file is part of the L2S Online Application Framework
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.

* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.

* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*
* ============================================================================
*/

/**
 * @package ExcelXMLParser
 * @subpackage ExcelXMLParser
 */
 
include_once 'ExcelXMLCell.php';

class ExcelXMLRow{
	
	/**
	 * Excel XML Row Attributes
	 * @var Associative Array $Cells
	 * @var Iterator $Iterator
	 */	
	var $Cells;
	var $Iterator;
	var $Encoding;
#-----------------------------------------------------------------------------#
	/**
	 * class constructor - initialize attributes
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return null
	 */
	function ExcelXMLRow(&$Data,&$Encoding){
 		if(!isset($Data['children']['Cell'])){
 			$Data['children']['Cell'] = array();
 		}
		$this->Cells    =& $Data['children']['Cell'];
		$this->Iterator = new ExcelXMLArrayIterator($this->Cells);
		$this->Encoding =& $Encoding;
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the cell count
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return int
	 */
	function getCellCount(){
		
		return $this->Iterator->length();
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the active cell
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return long - pointer to an object
	 */
	function &getActiveCell(){
		$active =& $this->Iterator->current();
		if($active){
			$Cell = new ExcelXMLCell($active,$this->Encoding);
			return $Cell;
		}else{
			return NULL;
		}
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the next cell
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return long - pointer to an object
	 */
	function &getNextCell(){
		$next =& $this->Iterator->next();
		if($next){
			$Cell = new ExcelXMLCell($next,$this->Encoding);
			return $Cell;
		}else{
			return NULL;
		}
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the first cell
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return long - pointer to an object
	 */
	function &getFirstCell(){
		$top =& $this->Iterator->top();
		if($top){
			$Cell = new ExcelXMLCell($top,$this->Encoding);
			return $Cell;
		}else{
			return NULL;
		}
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the last cell
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @return long - pointer to an object
	 */
	function &getLastCell(){
		$bottom =& $this->Iterator->bottom();
		if($bottom){
			$Cell = new ExcelXMLCell($bottom,$this->Encoding);
			return $Cell;
		}else{
			return NULL;
		}
	}
#-----------------------------------------------------------------------------#
	/**
	 * get the cell by cell index
	 * 
	 * @author Andrew A. Aculana
	 * @access Public
	 * @version 2.0
	 * @copyright 2006-05-22
	 * @param int $ColumnIndex
	 * @return long - pointer to an object
	 */
	function &getCell($ColumnIndex = 0){
		$current =& $this->Iterator->current();
		if($current){
			$Cell = new ExcelXMLCell($current,$this->Encoding);
			return $Cell;
		}else{
			return NULL;
		}
	}
#-----------------------------------------------------------------------------#
}
?>
Return current item: Excel XML Parser