A Panda's DataFrame is not an excel spreadsheet on it's own. You have to first create the excel file, turn it into binary and then you can store it in your Binary field `file`.
However, if you want to edit an already existing excel spreadsheet on your computer you can simply do this:
import pandas as pd
# Create a Pandas dataframe from the data.
df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
# Close the Pandas Excel writer and output the Excel file.
writer.save()
Source: http://xlsxwriter.readthedocs.io/working_with_pandas.html
There is much more information on the page that I am sure will be of use when solving your problem.
in xml file, the "file" is set as: <field name="file" widget="image" readonly="1" />, and I know widget="image" is for picture, so what for "excel file"?