Dash Error Callback, when trying to append to one excelsheet via openpyxl

I have created a Survey App and want to append the Output into an Excel File. When I just return the Output as “replace” to an Excel File I dont get any Error. But everytime I want to append the Data to 1 Excel Sheet I get this error. Does anyone know what it could be?

raise exceptions.InvalidCallbackReturnValue(
dash.exceptions.InvalidCallbackReturnValue: The callback for <Output answer_output.children> returned a value having type DataFrame which is not JSON serializable.

The value in question is either the only value returned, or is in the top level of the returned list, and has string representation 0 1 2 3 4 5 … 26 27 28 29 30 31

0 None None None None None None … None None None None None 2
1 None None None None None None … None None None None None 0
2 None None None None None None … None None None None None 2
3 None None None None None None … None None None None None 2
4 None None None None None None … None None None None None -
5 None None None None None None … None None None None None 0
6 None None None None None None … None None None None None 8
7 None None None None None None … None None None None None -
8 None None None None None None … None None None None None 2
9 None None None None None None … None None None None None 2

[10 rows x 32 columns]`

            In general, Dash properties can only be
            dash components, strings, dictionaries, numbers, None,
            or lists of those.

127.0.0.1 - - [24/Aug/2022 13:41:14] “POST /_dash-update-component HTTP/1.1” 500 -

Code which produces the Error:

import pandas as pd
from dash import Dash, State, html
from dash.dependencies import Input, Output
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

from . import answers, ids


def render(app: Dash) -> html.Div:
    @app.callback(
        Output(ids.ANSWER_OUTPUT, "children"),
        Input(ids.BUTTON, "n_clicks"),
        State(ids.QUESTION_1, "value"),
        ...
        State(ids.QUESTION_10, "value"),
        State(ids.DATE_PICKER_SINGLE, "date"),
    )
    def collect(
        n_clicks,
        answer_1_value,
        ...
        answer_10_value,
        date_picker_date,
    ):
        dataframe = [
            answer_1_value,
            ...
            answer_10_value,
            date_picker_date,
        ]
        df = pd.DataFrame(dataframe).T
        if n_clicks is not None:
            return df
        wb = load_workbook("G:.../output.xlsx")
        sheet_to_update = wb["Sheet1"]
        for line in dataframe_to_rows(df, index=False, header=False):
            sheet_to_update.append(line)
        wb.save("G:.../output.xlsx")

    return html.Div(
        children=[
            html.H4("..."),
            answers.answer_1(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_2(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_3(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_4(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_5_1(app),
            answers.answer_5_2(app),
            answers.answer_5_3(app),
            answers.answer_5_4(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_6_1(app),
            answers.answer_6_2(app),
            answers.answer_6_3(app),
            answers.answer_6_4(app),
            answers.answer_6_5(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_7_1(app),
            answers.answer_7_2(app),
            answers.answer_7_3(app),
            answers.answer_7_4(app),
            answers.answer_7_5(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_8_1(app),
            answers.answer_8_2(app),
            answers.answer_8_3(app),
            answers.answer_8_4(app),
            answers.answer_8_5(app),
            answers.answer_8_6(app),
            html.Hr(),
            html.H4("..."),
            answers.answer_9_1(app),
            answers.answer_9_2(app),
            answers.answer_9_3(app),
            answers.answer_9_4(app),
            answers.answer_9_5(app),
            answers.answer_9_6(app),
            html.Hr(),
            html.H4("""..."""),
            answers.answer_10(app),
            html.Hr(),
        ]
    )