我正在尝试用7个列创建一个表。最后一列包含一个长文本,这似乎会导致错误。似乎当单元格超出页面大小时,它将引发异常。
from reportlab.lib.pagesizes import landscape, A4 from reportlab.lib.styles import getSampleStyleSheet from reportlab.platypus import SimpleDocTemplate, LongTable, TableStyle, Paragraph from reportlab.lib import colors from reportlab.lib.units import mm from datetime import date doc = SimpleDocTemplate(response, pagesize=A4, rightMargin=30,leftMargin=30, topMargin=30,bottomMargin=18) doc.pagesize = landscape(A4) elements = [] styles = getSampleStyleSheet() cell_style = styles['BodyText'] cell_style.wordWrap = 1 cell_style.fontName = 'Courier' cell_style.spaceBefore = 30 cell_style.spaceAfter = 30 title_style = styles['Title'] title_style.fontName = 'Courier' title = Paragraph('Export Issue Tracker (%s)' % (date.today().isoformat()), title_style) elements.append(title) data2 = [[Paragraph(cell, cell_style) for cell in row] for row in data] table = LongTable(data2, colWidths=(None, None, None, None, None, None, 50*mm)) table_style = TableStyle([('BOX', (0,0), (-1,-1), 0.25, colors.black), ('INNERGRID', (0,0), (-1,-1), 0.25, colors.black), ('FONTNAME',(0,0),(-1,-1),'Courier'), ('VALIGN',(0,0),(-1,-1),'TOP'), ('ALIGN',(0,0),(-1,0),'CENTER'), ('TEXTCOLOR',(0,0),(-1,0), colors.yellow), ('BACKGROUND', (0,0), (-1,0), colors.gray), ('FONTSIZE',(0,0),(-1,-1),50)] + color_style) table.setStyle(table_style) elements.append(table) doc.build(elements)
但是我收到以下错误:
LayoutError at /issues/export_comments/ Flowablewith cell(0,0) containing u' 9'(769.88976378 x 4782), tallest cell 2694.0 points, too large on page 2 in frame 'normal'(769.88976378 x 535.275590551*) of template 'Later'
我已经看到很多关于如何使用KeepTogether,Spacer,LongTable的帖子,但是没有一个适合我。