我希望根据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)