Spreadsheet_Excel fehler in Formel
Matthias Bode
- php
0 Matthias Bode0 Hamster0 MudGuard
Hallo zusammen,
ich arbeite mit Spreadsheet_Excel um eine Exceldatei zu erzeugen.
Klappt alles ganz gut, nur an einem punkt hakts.
<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();
$workbook->send('Test.xls');
$worksheet =& $workbook->addWorksheet('Rechnung');
$worksheet->write(0, 0, "1");
$worksheet->write(1, 0, "1");
$worksheet->write(2, 0, "1");
$worksheet->write(0, 1, "4");
$worksheet->write(1, 1, "1");
$worksheet->write(2, 1, "9");
$worksheet->writeFormula(3, 1, "=SUMIF(A1:A3,1,B1:B3)");
$workbook->close();
?>
Bei $worksheet->writeFormula(3, 1, "='SUMIF'(A1:A3,1,B1:B3)");
schreibt er zwar die Formel in die Zelle, nur kommt, wenn man die Datei öffnet der Fehler #Wert!.
Klickt man allerdings einmal in die Bearbeitungsleiste und drückt Enter, stimmt auf einmal alles.
Wie kann das denn bitte sein?
Vielen Dank im Voraus für eure Hilfe
Matthias
Bei $worksheet->writeFormula(3, 1, "='SUMIF'(A1:A3,1,B1:B3)");
Sollte natürlich
$worksheet->writeFormula(3, 1, "=SUMIF(A1:A3,1,B1:B3)");
heien, keine Ahnung wie da hingekommen sind.
Eventuell gibt es im Excel-Modul einen Schalter "sheet vor Anzeigen berechnen j/n"?
Eventuell gibt es im Excel-Modul einen Schalter "sheet vor Anzeigen berechnen j/n"?
also ich finde keinenm url hab ich aber mal mit angegeben.
alle anderen formeln werden auch sofort berechnet nur summewenn/sumif nicht.
hmm
matthias
alle anderen formeln werden auch sofort berechnet nur summewenn/sumif nicht.
"Er" frisst auch Formeln mit Bereichsangaben? Worin unterscheidet sich diese Formel von anderen, akzeptierten Formeln?
alle anderen formeln werden auch sofort berechnet nur summewenn/sumif nicht.
"Er" frisst auch Formeln mit Bereichsangaben? Worin unterscheidet sich diese Formel von anderen, akzeptierten Formeln?
Ja das frist "er" =SUM(A1:A3) geht z.B. tadellos.
Ich glaube, es liegt in der Interpreation der formeln.
kann das sein dass er vielleicht bei SUMIF erst denkt SUM aha und dan IF anstatt beides zusammenzufassen, dann das doch irgendwie realisiert oder so??? ka
gibts ne möglichkeit das ganze zu umgehen mit einer anderen Funktion?
gibts ne möglichkeit das ganze zu umgehen mit einer anderen Funktion?
Guter Ansatz. Wenn der mudguard Tipp nicht hilft, solltest Du genau das probieren. Du kannst vermutlich Bereiche anders beschreiben und zwar durch Nennung der einzelnen Zellen. Eventuell kannst Du auch ein Makro entwickeln, dass bestimmte Aufgaben erst nach Laden des sheets ausführt.
Implementierungsfehler bei Perl- und PHP-Modulen sind übrigens nichts ungewöhnliches, ich selbst habe mir an einigen XML-Modulen unter Perl bereits den einen oder anderen ahn ausgebissen.
Ist halt GPL. ;)
Ist halt GPL. ;)
War GPL, meine ich natürlich. ;)
Hi,
$worksheet->writeFormula(3, 1, "=SUMIF(A1:A3,1,B1:B3)");
IIRC will Excel ; als Trenner zwischen den Argumenten einer Funktion, nicht ,
cu,
Andreas
IIRC will Excel ; als Trenner zwischen den Argumenten einer Funktion, nicht ,
Hallo hallo,
nee das mit dem , stimmt schon, denn laut doku zur klasse
Formulas must start with an equal sign ('=').
Arguments given to an Excel function should be separated by comas (','), not by semicolons (';').
aber ich werd mal gucken wie ich drum rum komme
erst einmal vielen dank
matthias