Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Spreadsheet Excel Writer: &q uo

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Spreadsheet Excel Writer: &q uo

    Hallo zusammen,

    bei der dynamischen Erstellung von EXCEL-Dateien mit dem spreadsheet Excel Writer ist bei mir folgendes Problem aufgetreten:ich möchte für einzelne Zelleinhalte (Text) eine Mehrfachformatierung vornehmen, also z.B. sowas

    "Das ist der Anfang vom Text, dieser Abschnitt soll dann fett werden, dieserAbschnitt dann kursiv, und ab hier wieder normal".

    Der zu formatierende Text kommt aus einer Datenbank und ist mit herkömmlichen HTML-Tags ausgestattet. Ich habe mir jetzt eine Funktion gebastelt, die Text entsprechend der Formatierungen aufsplittet. Jetzt kommt das Problem: Sobald ich jetzt versuche, den Text mit EXECLWRITER::write() nacheinander in die Zelle zu schreiben, wird jeweils nur der letzte Schreibversuch ausgegeben. also:

    Code:
    $sheet->write(1,1,"Das ist der Anfang vom Text",$format_standard);
    $sheet->write(1,1,"dieser Abschnitt soll dann fett werden,",$format_bold);
    $sheet->write(1,1,"dieserAbschnitt dann kursiv,",$format_italic);
    $sheet->write(1,1,"und ab hier wieder normal,",$format_standard);
    liefert als ausgabe: "und ab hier wieder normal" in der Standard -Formatierung.

    Die einzelnen Formate an sich funktionieren, da gibt es also keine Fehler. Wenn ich versuche das ganze in verschiedene Zellen zu schreiben und danach mit EXCELWRITER::mergeCells() zusammenzufassen, also etwas so:

    Code:
    $sheet->write(1,1,"Das ist der Anfang vom Text",$format_standard);
    $sheet->write(1,2,"dieser Abschnitt soll dann fett werden,",$format_bold);
    $sheet->write(1,3,"dieserAbschnitt dann kursiv,",$format_italic);
    $sheet->write(1,4,"und ab hier wieder normal,",$format_standard);
    $sheet->mergeCells(1,1,1,4);
    erhalte ich als ausgabe "Das ist der Anfang vom Text" in der Standard-Formatierung. Der Resr wird überschrieben.

    Wenn ich versuche das ganze über EXCELWRITER::writeFormular() zusammenzufassen, wird zwar der komplette Text ausgegeben, die Formatierungen gehen aber verloren.

    Was tun? Für Ideen oder Anregungen im Voraus besten Dank.

  • #2
    kann sein dass ich mich täushce, aber die klasse ist uralt und ist extrem abwärtskompatibel gestaltet, 255 zeichen limit für zellen etc, sprich für ne uralt-excel version, vieleicht kann die das nicht und damit ist es in der klasse auch so implementiert ? oder die formatierung wird nicht für den text, sondern für die zelle übernommen, notfalls, schau dir die klasse doch mal an, die methoden sind ja hinterlegt, da kannst du selbst schauen was sie machen, wie sie es machen und schauen was du selbst am code verändern kannst und dann halt testen ob excel die datei noch akzeptiert.

    mfg
    robo47

    Kommentar

    Lädt...
    X