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:
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:
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.
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);
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);
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.

Kommentar