Separate dataframe for every sheet:
with pd.ExcelWriter('output.xlsx') as writer:
df1.to_excel(writer, sheet_name='Sheet_name_1')
df2.to_excel(writer, sheet_name='Sheet_name_2')
For width, but I never used that:
df.style.set_properties(subset=['column'], **{'width': '300px'})