So sieht mein Script etwa aus:
$dom = DOMDocument::load( $_FILES['file']['tmp_name'] );
$rows = $dom->getElementsByTagName( 'Row' );foreach ($rows as $row)
{
$cells = $row->getElementsByTagName( 'Cell' );
foreach( $cells as $cell )
{
$cellwas=$cell->nodeValue;
...
Mir ist dieser Teil von PHP völlig unbekannt, aber hier ein paar Gedanken:
Woher soll dein Script wissen wo die Datei endet? Ich weiß nicht wie's bei Excell ist, aber in OOo.calc sind die Tabellen afaik unendlich groß, also...
Eine Überlegung ist es vielleicht wert auf die innere foreach zu verzichten und stattdessen die letzte gefüllte Zelle der Zeile zu ermitteln und dann mit einer repeat- oder for-Schleife zu durchlaufen, in welcher du eben prüfst ob die jeweilige Zelle "existiert" (denn scheinbar existieren sie ja nicht wenn sie leer sind).
Alternativ ginge ggf. auch dass du die Zellinhalte in einem array ablegst (was du ja wahrscheinlich tust), in welchem du die Indizes entsprechend dem Zellennamen (ich denke mal der ist auch zu ermitteln) festlegst. Möglicherweise gar nummerisch im Stile von ord(ersterBuchstabe)*100+ord(zweiterBuchstabe) oder so... anschließend jagst du eine zweite Schleife drüber, die die fehlenden Zellen mit Leerstings (oder 0 oder null) ergänzt.
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(