This commit is contained in:
2025-05-26 19:29:42 +00:00
parent a8e2e79f8f
commit 353d710b39

View File

@@ -143,17 +143,9 @@ def create_and_fill_doc(docs_service, drive_service, folder_id, doc_title):
}) })
# --- C. Tabelleninhalt einfügen --- # --- C. Tabelleninhalt einfügen ---
# Der Inhalt der ersten Zelle beginnt direkt nach dem Einfügen der Tabelle, # Die Tabelle wurde an `table_start_index` eingefügt.
# plus einem Offset für die Tabellenstruktur-Tags. # VERSUCH: Der Inhalt der ersten Zelle beginnt bei `table_start_index + 1`.
# Ein häufig funktionierender Offset ist +2 (für TableStart, RowStart). table_content_start_index = table_start_index + 1 # GEÄNDERT VON +2 ZU +1
# Wir nehmen an, dass der `current_doc_index` jetzt auf den Beginn der Tabelle zeigt.
# Der Inhalt der ersten Zelle beginnt bei `table_start_index + 2` (relativ zum Dokumentenanfang)
# oder, anders gesagt, Index 1 *innerhalb* der Tabellenstruktur, die bei table_start_index beginnt.
#
# Die Google Docs API ist so gedacht, dass wenn man Text mit Tabs/Newlines an den
# Startindex einer Zelle sendet, sie den Text in die Tabelle verteilt.
table_content_start_index = table_start_index + 2 # Annahme: Index der ersten Zelle (Beginn des Inhaltsbereichs)
# Erstelle den gesamten Text für die Tabelle # Erstelle den gesamten Text für die Tabelle
table_lines = [] table_lines = []
@@ -161,15 +153,16 @@ def create_and_fill_doc(docs_service, drive_service, folder_id, doc_title):
for kind in kinder_liste: for kind in kinder_liste:
table_lines.append(f"{kind['Nachname']}\t{kind['Vorname']}\t{gruppe_display_name}") table_lines.append(f"{kind['Nachname']}\t{kind['Vorname']}\t{gruppe_display_name}")
full_table_text_for_cells = "\n".join(table_lines) + "\n" # Wichtig: endet mit \n full_table_text_for_cells = "\n".join(table_lines) + "\n"
requests.append({ requests.append({
'insertText': { 'insertText': {
'location': {'index': table_content_start_index}, 'location': {'index': table_content_start_index}, # Verwendet den neuen Offset
'text': full_table_text_for_cells 'text': full_table_text_for_cells
} }
}) })
# --- D. Index aktualisieren und Footer --- # --- D. Index aktualisieren und Footer ---
# Den Index nach einer Tabelle korrekt weiterzuführen ist der schwierigste Teil. # Den Index nach einer Tabelle korrekt weiterzuführen ist der schwierigste Teil.
# Die Tabelle selbst (Struktur) plus ihr Inhalt haben eine bestimmte Länge. # Die Tabelle selbst (Struktur) plus ihr Inhalt haben eine bestimmte Länge.