def setup_timetable_worksheet(self,title,base_offsets,maxcells): h1 = [] h2 = [] h1.append(title) h2.extend(['Monday','Tuesday','Wednesday','Thursday','Friday']) labels = ['1st period','2nd period','3rd period','4th period','5th period'] times = ['(8:45 - 10:15)','(10:30 - 12:00)','(13:00 - 14:30)','(14:45 - 16:15)','(16:30 - 18:00)'] h1Style = XFStyle() font = Font() font.height = 300 font.bold = True align = Alignment() align.horz = Alignment.HORZ_CENTER h1Style.font = font h1Style.alignment = align h2Style = XFStyle() align = Alignment() align.rota = 30 align.horz = Alignment.HORZ_CENTER align.vert = Alignment.VERT_CENTER h2Style.alignment = align borders = Borders() borders.bottom = Borders.THIN h2Style.borders = borders labelStyle = XFStyle() borders = Borders() borders.bottom = Borders.THIN borders.top = Borders.THIN borders.left = Borders.THIN borders.right = Borders.THIN labelStyle.borders = borders align = Alignment() align.rota = 90 align.horz = Alignment.HORZ_CENTER align.vert = Alignment.VERT_CENTER labelStyle.alignment = align self.ws.write_merge(0,0,0,5,title,h1Style) for pos in range (0,5,1): self.ws.write(1,pos+1,h2[pos],h2Style) self.ws.write(1,0,'',h2Style) for pos in range(0,5,1): base_offset = base_offsets[pos] offset = maxcells[pos] for r in range(2+base_offset,2+base_offset+offset,1): row = self.ws.row(r) row.height = 5000/offset #row.has_default_height = False text = '%s\n%s' % (labels[pos],times[pos]) print "base_offset: %d" % (base_offset,) print "offset: %d" % (offset,) self.ws.write_merge(2+base_offset,2+base_offset+offset-1,0,1,text,labelStyle) #self.ws.write_merge(2+base_offset,2+base_offset+offset,0,0,text,labelStyle) self.ws.col(0).width = 1200 for pos in range(1,6,1): self.ws.col(pos).width = 5500 #self.ws.row(10).has_default_height = False self.ws.row(10).height = 400