PEAR::Spreadsheet_Excel_Writer, Formeln
PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 09:35:46 von Stefan+Usenet
Hallo,
wo doch hier gerade Excel-Experten mitlesen: mit obigem Modul (PEAR
1.3b3, OLE 0.5, Excel_Writer 0.9.0) wird eine Excel-Datei mit
mehreren Summenformeln erzeugt. Im OpenOffice sieht alles perfekt
aus, allerdings haben mir jetzt bereits zwei Leute bestaetigt, dass
manche Formeln im Excel nicht berechnet werden - sobald man sie
allerdings einmal anklickt und (unveraendert) bestaetigt,
funktioniert die Berechnung. Das betrifft momentan ausschliesslich
Formeln mit der Funktion "=SUMIF()".
Eine Beispieldatei, sowie eine funktionierende Version davon liegen
unter:
(mit PEAR erzeugt)
(Formeln explizit bestaetigt)
Das erzeugende Programm ist leider zu komplex, um es zu posten, die
Formeln werden aber ganz gewoehnlich mit "writeFormula" geschrieben,
z.B:
$worksheet->writeFormula(17,5,'=SUMIF(B15:B16;"<>E";F15:F16)',$format);
Hat vielleicht irgendjemand eine Ahnung, oder auch nur eine
Vermutung, was bei der Erzeugung falsch laufen koennte?
Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktbörse fuer Österreich
Für die Sekunden der Einsamkeit: Stefan, das süße Geheimnis!
(Sloganizer)
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 11:03:55 von Irmgard Schwenteck
Hallo
Stefan Froehlich schrieb:
> Formeln werden aber ganz gewoehnlich mit "writeFormula" geschrieben,
> z.B:
>
> $worksheet->writeFormula(17,5,'=SUMIF(B15:B16;"<>E";F15:F16)',$format);
Excel wünscht sich '=SUMIF(B15:B16;""<>E"";F15:F16)'.
Gruß
Irmgard
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 11:34:19 von Stefan+Usenet
On Tue, 08 Aug 2006 11:03:55 +0200 Irmgard Schwenteck wrote:
> > $worksheet->writeFormula(17,5,'=SUMIF(B15:B16;"<>E";F15:F16)',$format);
> Excel wünscht sich '=SUMIF(B15:B16;""<>E"";F15:F16)'.
Wuensche koennen erfuellt werden, allerdings sagt nun mein OpenOffice (und
dem Vernehmen nach Excel ebenso):
| Syntax error: <>, lookahead: , current char: 17
Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktbörse fuer Österreich
Stefan, so göttlich wie die Zeit. Spinnen ist doof.
(Sloganizer)
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 12:19:23 von Irmgard Schwenteck
Hallo
Stefan Froehlich schrieb:
>>> $worksheet->writeFormula(17,5,'=SUMIF(B15:B16;"<>E";F15:F16)',$format);
>> Excel wünscht sich '=SUMIF(B15:B16;""<>E"";F15:F16)'.
>
> Wuensche koennen erfuellt werden, allerdings sagt nun mein OpenOffice (und
> dem Vernehmen nach Excel ebenso):
>
> | Syntax error: <>, lookahead: , current char: 17
Nun gut, ich weiß nicht, was PEAR da genau macht.
Wenn ich dies mit VBA erledigen wollen würde, müßte ich schreiben:
rng.Formula = "=SUMIF(B15:B16,""<>E"",F15:F16)"
Im deutschen Excel wird daraus:
=SUMMEWENN(B15:B16;"<>E";F15:F16)
Dieser Effekt, den Du hast, kann auftreten, wenn Excel meint, ein
Problem mit der Sprachversion zu haben.
Manchmal hängt es auch an Formatierungen, daß Zahlen als Text formatiert
sind, aber das ist hier nicht der Fall.
Gruß
Irmgard
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 12:39:07 von Stefan+Usenet
On Tue, 08 Aug 2006 12:19:23 +0200 Irmgard Schwenteck wrote:
> >>> $worksheet->writeFormula(17,5,'=SUMIF(B15:B16;"<>E";F15:F16)',$format);
> >> Excel wünscht sich '=SUMIF(B15:B16;""<>E"";F15:F16)'.
> Nun gut, ich weiß nicht, was PEAR da genau macht.
Gute Frage. Ich bin mir ja noch nicht einmal ganz sicher, ob es ein
Problem mit Excel, oder eines mit Pear ist...
[VBA]
> "=SUMIF(B15:B16,""<>E"",F15:F16)"
Hier scheint mir das doppelte " aber durch die Maskierung im String
notwendig zu sein, ganz unabhaengig von Excel. Letztlich ist das
doch genau das, was ich im urspruenglichen Posting hatte.
> Im deutschen Excel wird daraus:
> =SUMMEWENN(B15:B16;"<>E";F15:F16)
Auch das passiert bei mir. Klicke einmal den ersten Link aus dem OP
an: Du bekommst ein Excel-Sheet, das bei den Formeln Fehler meldet,
sobald man die Formel aber anklickt (sogar die beiden Bereiche
werden dann sofort markiert) und unveraendert bestaetigt, diese ohne
Probleme ausfuehrt... ansonsten haette ich das ja auch in einer
Excel-Gruppe gefragt, aber was sollen mir die dazu schon sagen?
*ratlos*
Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktbörse fuer Österreich
Stefan konnte immer schon mehr als Spaß machen!
(Sloganizer)
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 13:06:15 von Irmgard Schwenteck
Hallo
Stefan Froehlich schrieb:
> [VBA]
>> "=SUMIF(B15:B16,""<>E"",F15:F16)"
>
> Hier scheint mir das doppelte " aber durch die Maskierung im String
> notwendig zu sein, ganz unabhaengig von Excel. Letztlich ist das
> doch genau das, was ich im urspruenglichen Posting hatte.
Nicht ganz. Da gibt es einmal "," und einmal ";"
Aber wie gesagt, ich weiß nicht, was worksheet->writeFormula draus macht.
>> Im deutschen Excel wird daraus:
>> =SUMMEWENN(B15:B16;"<>E";F15:F16)
>
> Auch das passiert bei mir. Klicke einmal den ersten Link aus dem OP
> an: Du bekommst ein Excel-Sheet, das bei den Formeln Fehler meldet,
Habs schon gesehen.
> sobald man die Formel aber anklickt (sogar die beiden Bereiche
> werden dann sofort markiert) und unveraendert bestaetigt, diese ohne
> Probleme ausfuehrt... ansonsten haette ich das ja auch in einer
> Excel-Gruppe gefragt, aber was sollen mir die dazu schon sagen?
Das _ist_ ein blöder Excel-Effekt.
Ich hatte schon danach gegoogelt, aber im ersten Anlauf nix gefunden.
Aber irgendjemand dort weiß sicher was dazu.
Gruß
Irmgard
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 08.08.2006 17:42:14 von Norbert Melzer
Am Tue, 08 Aug 2006 12:19:23 +0200 schrieb Irmgard Schwenteck:
> Wenn ich dies mit VBA erledigen wollen würde, müßte ich schreiben:
> rng.Formula = "=SUMIF(B15:B16,""<>E"",F15:F16)"
Das "Text""anderer Text"" und schon wieder Text" in VBA entspricht AFAIK
einem "Text\"anderer Text\" und schon wieder Text" in PHP. Da der OP den
zukünftigen Inhalt der Zelle aber bereits Singlequoted braucht er die
Doublequotes nicht mehr zu escapen, liegt also daran wohl nicht.
MfG
Norbert
--
Link zur PHP-FAQ http://www.php-faq.de
Re: PEAR::Spreadsheet_Excel_Writer, Formeln
am 21.08.2006 13:12:12 von Stefan+Usenet
On Tue, 08 Aug 2006 13:06:15 +0200 Irmgard Schwenteck wrote:
> Das _ist_ ein blöder Excel-Effekt.
In der Tat, ja.
> Ich hatte schon danach gegoogelt, aber im ersten Anlauf nix gefunden.
> Aber irgendjemand dort weiß sicher was dazu.
Leider auch nichts, was geholfen haette:
<1t44d872c6i22een4a3%sfroehli@Froehlich.Priv.at> ff.
Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktbörse fuer Österreich
Ein entschlossenes Team! Stefan, immerzu!
(Sloganizer)