I recently developed a project on App Engine using python & xlsxwriter. I face a similar issue, and I found a better workaround which doesn't require extra code and works as running on the local system.
We can use the tmp environment - a runtime filesystem in App Engine which exists in the life span of a request/task queue.
while creating a writer object pass the /tmp/file
as shown below,
writer = pd.ExcelWriter('/tmp/my_file.xlsx', engine='xlsxwriter')
#
# perform your operations
#
writer.save()
In the subsequent code, you can read the same file and perform desired operations, like send it in the mail or upload it somewhere like...
file_path = '/tmp/'+ filename
with open(file_path, 'rb') as f:
my_file_data = f.read()
f.close()