fastix®: Excel einlesen

Beitrag lesen

Moin!

Ach so: Excel zählt die Spalten beginnend mit der 1. Wenn Du einen "richtigen" Array brauchst:

  
<?php  
$dom = DOMDocument::load( "test.xml" );  
$rows = $dom->getElementsByTagName( 'Row' );  
$zeile=0;  
$arValues=array();  
foreach ($rows as $row)  {  
	$cells = $row->getElementsByTagName( 'Cell' );  
	$spalte=0;  
	foreach( $cells as $cell ) {  
		if ($cell->hasAttribute('ss:Index')) {  
			$spalte=$cell->getAttribute('ss:Index')-1;  
		}  
	        $arValues[$zeile][$spalte]=$cell->nodeValue;  
		$spalte++;  
	}  
	$zeile++;  
}  
  
$zeile=0;  
$maxZeilen=0;  
  
# spalten zählen  
foreach ($arValues as $arZeile) {  
	count($arZeile);  
	if ($maxZeilen < count($arZeile)) {  
		$maxZeilen = count($arZeile);  
	}  
}  
  
# Array mit false aufüllen und für foreach schön machen:  
$arTemp=$arValues;  
$arValues=array();  
for ($zeile=0; $zeile < count($arTemp); $zeile++) {  
	$zeileHatWert=false;  
	for ($spalte=0; $spalte < $maxZeilen; $spalte++) {  
		if (isset($arTemp[$zeile][$spalte])) {  
			$arValues[$zeile][$spalte]=$arTemp[$zeile][$spalte];  
			$zeileHatWert=true;  
		} else {  
			$arValues[$zeile][$spalte]=false;  
		}  
	}  
}  
unset($arTemp);  
print "Werte:<pre>";print_r($arValues);print "</pre>";  
?>

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development