gpt4 book ai didi

python - Google App Engine 中的 Xlsxwriter 错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:11 24 4
gpt4 key购买 nike

我尝试在 Google App Engine 中使用 xlsxwriter,但不断收到错误:“Response”对象没有属性“tell”。我看过之前的问题Using xlsxwriter in Google App Engine for Python& XlsxWriter object save as http response to create download in Django但我仍然收到此错误。我试图修改他们在文档 https://github.com/jmcnamara/XlsxWriter/blob/master/examples/http_server_py2.py 中给出的示例

我目前在 GAE 中使用 xlwt,没有任何问题。

    output = StringIO.StringIO()

# Even though the final file will be in memory the module uses temp
# files during assembly for efficiency. To avoid this on servers that
# don't allow temp files, for example the Google APP Engine, set the
# 'in_memory' constructor option to True:
workbook = xlsxwriter.Workbook(self.response.out,{'in_memory': True})
worksheet = workbook.add_worksheet()

# Write some test data.
worksheet.write(0, 0, 'Hello, world!')

# Close the workbook before streaming the data.
workbook.close()

# Rewind the buffer.
output.seek(0)

# Construct a server response.

self.response.headers['Content-disposition'] = 'attachment; filename=test.xls'
self.response.headers['Content-Transfer-Encoding'] = 'Binary'
self.response.headers['Content-Type'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

最佳答案

您有几个问题。

您正在创建一个 StringIO ,但没有使用它。您的 xlsxwriter.Workbook( 应该使用 output 而不是 self.response.out

其次,你为什么要做output.seek(0)

关闭工作簿后,您应该从output获取字符串并将其写入self.response

最后,如果您遇到错误,在提出问题时将堆栈跟踪添加到问题中总是有用的。这样我们就可以看到代码中的哪个语句实际上导致了异常的引发。

关于python - Google App Engine 中的 Xlsxwriter 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22675171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com