self.__build_header()
s = ""
s = s + str(self.header)
s = s + str(self.packed_MSAT_1st )
s = s + str(stream)
s = s + str(padding)
s = s + str( self.packed_MSAT_2nd)
s = s + str(self.packed_SAT)
s = s + str(self.dir_stream)
return s
このようにして、 Excel ファイルのバイナリ ストリーム。ユーザーが要求したときに Excel ファイルを返す方法は次のとおりです。
コードをコピーします。 >
コードは次のとおりです:
class Main(webapp.RequestHandler) :
def get(self):
self.sess = session.Session() t_values['user_id'] = self.sess['userid'] if self.request.get( 'export') == 'excel': wb = Workbook() ws = wb .add_sheet(u'統計レポート')
#Header
font0 = Font()
font0.bold = True
font0.height = 12*20;
styletitle = XFStyle()
styletitle.font = font0
ws.write(0, 0, u"Date:"+begintime .strftime('%Y-%m-%d') + " - " + endtime.strftime('% Y-%m-%d'), styletitle)
#Excel ファイルに戻る
self.response .headers['Content-Type'] = "application/vnd.ms-execl"
self. response.headers['Content-Disposition'] = str("attachment; filename=%s.xls"%t_values['user_id'])
self.response.headers['Pragma'] = "キャッシュなし"
self.response.headers['Expires'] = "0"
self.response.out.write(wb.savestream())
return
この効果は次のとおりです。 Ii Accounting Network の Excel レポートで確認できます。