Thank Yarko! It worked when I changed to use xlwt. :) I love this group for it's so helpful.
2009/7/19 Yarko Tymciurak <yark...@gmail.com> > Have you looked at xlwt http://www.python-excel.org/ --- > https://secure.simplistix.co.uk/svn/xlwt/trunk ? > > It claims to have fixed bugs w/ PyExelerator; see > https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html > > the Workbook.save() function says it will save to a stream, such as > StringIO.... > > in fact, they seem to have an active google group, and there is an example > of saving to StringIO: > > > http://groups.google.com/group/python-excel/browse_thread/thread/581a01953ce3575f/61e40855d94c1eb3?lnk=gst&q=save%28%29#61e40855d94c1eb3 > > http://www.djangosnippets.org/snippets/1151/ (look for 'output = > StrintIO.StringIO()' and 'book.save(output)') > > Hope that's helpful... > > > > 2009/7/18 陶艺夫 <artman...@gmail.com> > > Thank you for replying. >> It still does't work. In pyExcelerator, the file object opened to write to >> is a binary file(opened with "wb" attribute). I don't know whether the >> StringIO can handle its content as binary data. If it do, how? Or is there >> something other than StringIO to do so in Python? >> >> >> 2009/7/19 mdipierro <mdipie...@cs.depaul.edu> >> >> >>> Try replace >>> >>> f.seek(0) >>> return f.read() >>> >>> with >>> >>> return f.getvalue() >>> >>> if it does not work than it is a PyExelerator issue >>> >>> On Jul 18, 8:32 pm, 陶艺夫 <artman...@gmail.com> wrote: >>> > Hi, all friends. >>> > I'm using PyExelerator to create Excel report for users to download. I >>> tried >>> > to save the Workbook object to a StringIO which is said a file-like >>> object, >>> > but the result is an empty file. Following are the codes: >>> > >>> > def get_report(): >>> > #.... generating workbook codes >>> > f = StringIO.StringIO() >>> > doc = CompoundDoc.XlsDoc() >>> > doc.save_to(f,w.get_biff_data()) >>> > #the "doc.save_to" func was added to the Workbook class in the >>> > pyExelerator's module by myself. There was a original >>> > #"save" method there take two argument, the first one is a file >>> object, >>> > the second one is the same as mine. >>> > response.headers['Content-type']='application/vnd.ms-excel' >>> > response.headers['Content-Disposition']='attachment; >>> filename=test.xls' >>> > response.headers['Content-Title']='test.xls' >>> > response.headers['Content-Length'] = f.tell() >>> > f.seek(0) >>> > return f.read() >>> > >>> > What's the problem? Thanks in advance. >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---