Code: Alles auswählen
from odf.opendocument import OpenDocumentSpreadsheet
from odf.style import Style, TextProperties
from odf.table import Table, TableRow, TableCell
from odf.text import P
# Erstelle ein neues ODS-Dokument
doc = OpenDocumentSpreadsheet()
# Definiere einige Schriftarten, -größen und -farben für die Wörter
styles = [
{"color": "#FF0000", "fontsize": "14pt", "fontfamily": "Arial"},
{"color": "#00FF00", "fontsize": "16pt", "fontfamily": "Verdana"},
{"color": "#0000FF", "fontsize": "18pt", "fontfamily": "Courier New"},
{"color": "#FF00FF", "fontsize": "20pt", "fontfamily": "Times New Roman"},
{"color": "#00FFFF", "fontsize": "22pt", "fontfamily": "Georgia"},
]
# Beispieltext
text = "Das ist ein Test Satz für eine ODS Datei"
# Erstelle eine Tabelle
table = Table()
# Erstelle eine Zeile in der Tabelle
tr = TableRow()
# Teile den Satz in Wörter auf
words = text.split()
# Weise jedem Wort eine andere Formatierung zu
for i, word in enumerate(words):
# Erstelle eine neue Zelle
tc = TableCell()
# Wähle einen Stil für das Wort (wiederholt sich, falls es mehr Wörter als Stile gibt)
style_props = styles[i % len(styles)]
# Erstelle den Stil für das aktuelle Wort
style = Style(name=f"style{i}", family="text")
style.addElement(TextProperties(color=style_props["color"], fontsize=style_props["fontsize"], fontfamily=style_props["fontfamily"]))
doc.styles.addElement(style)
# Füge das Wort mit dem entsprechenden Stil in die Zelle ein
p = P(text=word, stylename=style)
tc.addElement(p)
# Füge die Zelle der Zeile hinzu
tr.addElement(tc)
# Füge die Zeile der Tabelle hinzu
table.addElement(tr)
# Füge die Tabelle dem Dokument hinzu
doc.spreadsheet.addElement(table)
# Speichere das Dokument
doc.save("test_document.ods")
print("Die Datei wurde erfolgreich erstellt.")