I hope my answer will help someone else. I found the solution with dcc.send_file() is not as convinient as dcc.send_data_frame(). You have to store a lot of files inside your project folder. Solution that worked for me is dcc.send_bytes()
import io
output = io.BytesIO()
writer = pd.ExcelWriter(output, engine='xlsxwriter')
df_1.to_excel(writer, sheet_name='sheet_1', index=False) # writes to BytesIO buffer
df_2.to_excel(writer, sheet_name='sheet_2', index=False)
df_3.to_excel(writer, sheet_name='sheet_3', index=False)
df_4.to_excel(writer, sheet_name='sheet_4', index=False)
df_5.to_excel(writer, sheet_name='sheet_5', index=False)
writer.save()
data = output.getvalue()
return dcc.send_bytes(data, 'name_of_the_file.xlsx')