Pear -> Excel Spreadsheet -> Datei wird nicht fertiggestellt

Schrödi

Mitglied
Hallo zusammen,

ich möchte über die Pear Klasse Excel Spreadsheet Daten nach Excel exportieren. Funktioniert soweit auch, bis ich eine gewisse größe der Tabelle überschreite. Die genaue Größe kann ich nicht sagen, das ist etwas schwammig (bei 8000 bis 10000 Zeilen, also unter dem Excel Maximum).

Wenn ich den Header nicht mit ausgeben lasse, d.h. mir die Datei im Textformat anschaue kann ich erkennen, dass die Datei nicht abgeschlossen wird und auch einiges an Daten noch fehlt.

Das ausgeben der selben Daten in einer HTML Tabelle funktioniert reibungslos. Die Berechnungszeit liegt unter 10 Sekunden, d.h. auch das Script Limit (bei mir 120 Sekunden) überschreite ich nicht.

Jetzt bin ich etwas ratlos. Hat vielleicht jemand eine Idee oder Erfahrungen mit diesem Problem?

Gruß Schrodi
 
Hi,
denkst du daran am Ende die Datei zu schließen?
Weil ich hatte mal ein ähnliches Problem bei einer Textdatei und da lag es daran, dass ich die Textdatei nach dem Einfügen der Datensätze nicht wieder geschlossen hatte.

mfg.Fide
 
ja.
ich benutze zumindest das 'close'

PHP:
$xls -> close()

von der pear Klasse.
Kleinere Datenmengen werden auch richtig ausgeworfen. Bei größeren Datenmengen hingegen wird die Datei nicht richtig beendet, jedenfalls fehlt der Excel Footer, wenn ich mir die Excel Datei im Editor ansehe; es fehlen ja auch jede Menge Daten in der Excel Datei.

Excel sagt beim Öffnen, dass die Datei beschädigt sei und rekonstruiert wurde (logisch ohne Footer).

Also sollte mein Code richtig sein, ist ja dank der Pear Klasse auch nicht so schwer. Ich poste ihn morgen, wenn ich wieder im Büro bin.
 
Nun mein php Code:

PHP:
<?php
$xls =& new Spreadsheet_Excel_Writer();
$sheet =& $xls->addWorksheet();
$xls->send("rohdaten.xls");

$rownr = 0;
foreach(array_keys($y) as $row){ 
	$sheet -> writeRow ( $rownr , 0 , $y[$row]);
	$rownr ++;
}

$xls->close();
?>

$y ist ein zweidimensionales Array, wobei die erste Dimension die Reihen und die zweite die Spalten beinhaltet.

Habe nun aber entdeckt, dass die Datei immer 20000000 Byte groß ist. Also denke ich mir bei einer so gerade Zahl, dass hier eine gewollte Beschränkung (nur nicht von mir) vorliegt.
Was könnte das für eine Beschränkung sein? Max. Download Limit? Gibt es sowas und könnte das geändert werden?

Gruß Schrodi
 

Neue Beiträge

Zurück