提供由Python

时间:2016-10-12 22:00:26

标签: python python-2.7 mime-types xlsxwriter

我希望根据HTML表单中用户的输入生成Excel工作簿。提交表单后,Python脚本将生成该文件并将其发送给用户。我正在使用xlsxwriter来创建电子表格。

我已经能够创建一个示例文件,然后提供一个链接,但我想在内存中创建该文件,因此没有清理。

我的代码创建了一个文件并将其发送给我但是当我尝试在Excel中打开它时,我收到一条消息说

  

Excel在' sample.xlsx'中找到了不可读的内容。你想恢复这个工作簿的内容吗?如果您信任此工作簿的来源,请单击“是”。

如果我点击是,我会得到一张白纸。如果我在文本编辑器中打开它,我可以看到该文件不为空;该文件大小为6k。我需要更改我的内容类型吗?或者做一些其他改变?

#!/Temp/Python27/python
import io
from sys import stdout
import xlsxwriter

output = io.BytesIO()

workbook = xlsxwriter.Workbook(output)
worksheet = workbook.add_worksheet()
worksheet.write(1, 1, 'Hello, world!')
workbook.close()

contents = output.getvalue()
output.close()

print('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\nContent-Disposition:attachment; filename="sample.xlsx"\n')
print (contents)

1 个答案:

答案 0 :(得分:1)

我在发布问题后继续搜索,找到答案here