使用xlwt + Google应用引擎编写Excel文件 - 获取IOError:无效模式:wb

时间:2011-07-14 11:55:57

标签: python google-app-engine xlwt file-writing

在我的应用程序中,我正在尝试使用xlwt API将数据写入excel文件。当我运行GAE应用程序时,我得到以下错误。请帮我解决这个问题。

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 700, in __call__
    handler.get(*groups)
  File "C:\Users\stocklist\temp.py", line 39, in get
    wb.save('example.xls')
  File "C:\Users\stocklist\xlwt\Workbook.py", line 634, in save
    doc.save(filename, self.get_biff_data())
  File "C:\Users\stocklist\xlwt\CompoundDoc.py", line 507, in save
    f = open(file_name_or_filelike_obj, 'wb')
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 1427, in __init__
    raise IOError('invalid mode: %s' % mode)
IOError: invalid mode: wb

源代码:

class MainHandler(webapp.RequestHandler):
    def get(self):      

        font0 = xlwt.Font()
        font0.name = 'Times New Roman'
        font0.colour_index = 2
        font0.bold = True

        style0 = xlwt.XFStyle()
        style0.font = font0

        style1 = xlwt.XFStyle()
        style1.num_format_str = 'D-MMM-YY'

        wb = xlwt.Workbook()
        ws = wb.add_sheet('A Test Sheet')

        ws.write(0, 0, 'Test', style0)
        ws.write(1, 0, datetime.now(), style1)
        ws.write(2, 0, 1)
        ws.write(2, 1, 1)
        ws.write(2, 2, xlwt.Formula("A3+B3"))

        wb.save('example.xls')

1 个答案:

答案 0 :(得分:3)

您无法将文件写入App Engine上的文件系统。而是将其序列化并将其保存到数据存储区或blobstore。