This commit is contained in:
2025-05-26 19:34:53 +00:00
parent b21051fece
commit 1a5334210b

View File

@@ -129,43 +129,42 @@ def create_and_fill_doc(docs_service, drive_service, folder_id, doc_title):
current_doc_index += len(header_text)
# --- B. Tabelle erstellen (leer) ---
num_rows = len(kinder_liste) + 1 # +1 für Kopfzeile
num_rows_for_test = 1 # NUR EINE ZEILE FÜR DEN TEST (Kopfzeile)
num_cols = 3
# Die Tabelle wird an current_doc_index eingefügt.
table_start_index = current_doc_index
requests.append({
'insertTable': {
'location': {'index': table_start_index},
'rows': num_rows,
'rows': num_rows_for_test, # Nur eine Zeile
'columns': num_cols
}
})
# --- C. Tabelleninhalt einfügen ---
# Die Tabelle wurde an `table_start_index` (Index 71) eingefügt.
# VERSUCH: Füge den Text für die Zellen an GENAU DEMSELBEN Index ein,
# an dem die Tabelle erstellt wurde. Die Hoffnung ist, dass die API
# dies als "Text für die gerade erstellte Tabelle" interpretiert.
table_content_start_index = table_start_index # <<-- GEÄNDERT!
# --- C. NUR KOPFZEILE einfügen ---
# Wir versuchen wieder verschiedene Offsets, aber nur für EINE Zeile Text.
# OFFSET-TEST:
# 1. table_start_index + 1
# 2. table_start_index + 2
# 3. table_start_index + 3 (unwahrscheinlich, aber zum Testen)
# 4. table_start_index + 4 (noch unwahrscheinlicher)
# Erstelle den gesamten Text für die Tabelle
table_lines = []
table_lines.append("Nachname\tVorname\tGruppe") # Kopfzeile
# ... (Rest der Tabelleninhalts-Erstellung bleibt gleich) ...
for kind in kinder_liste:
table_lines.append(f"{kind['Nachname']}\t{kind['Vorname']}\t{gruppe_display_name}")
full_table_text_for_cells = "\n".join(table_lines) + "\n"
# BEGINNEN WIR MIT OFFSET +4, da die Struktur komplexer sein könnte als gedacht
# (TableStart, RowStart, CellStart, ParagraphStart?)
content_insertion_index_for_test = table_start_index + 4 # TESTWERT!
kopfzeilen_text = "Nachname\tVorname\tGruppe\n" # Nur die Kopfzeile, mit Tabs und Newline am Ende
requests.append({
'insertText': {
'location': {'index': table_content_start_index}, # Verwendet jetzt denselben Index wie insertTable
'text': full_table_text_for_cells
'location': {'index': content_insertion_index_for_test},
'text': kopfzeilen_text
}
})
# --- D. Index aktualisieren und Footer ---
# Den Index nach einer Tabelle korrekt weiterzuführen ist der schwierigste Teil.
# Die Tabelle selbst (Struktur) plus ihr Inhalt haben eine bestimmte Länge.