我正在使用ReportLab创建报告。
我必须提供一个不适合单个页面的表格。
在原始代码中我有这个:
def build_table(data):
data = format_data(data)
table = Table(data, repeatRows=1, style=settings.report.tablestyle)
return table
这将产生:
reportlab.platypus.doctemplate.LayoutError: Flowable <Caption at 0x8d2ba58>...(294.02734375 x 623) too large on page 6 in frame None(699.4960629921259 x 461.3858267716535*) of template 'Normal'
此处其他帖子的解决方案建议使用LongTable
代替Table
,所以我做了:
def build_table(data):
data = format_data(data)
#table = Table(data, repeatRows=1, style=settings.report.tablestyle)
table = LongTable(data, repeatRows=1)
table.setStyle(settings.report.tablestyle)
return table
但是我收到同样的错误。
对此有任何其他解决方案吗?
编辑:
来自我class report
内的settings
我有:
tablestyle = TableStyle([('ROWBACKGROUNDS', (0, 0), (-1, -1), [white, Color(.9, .9, .9)]),
('LEFTPADDING', (0, 0), (0, -1), 3),
('RIGHTPADDING', (0, 0), (-1, -1), 3),
('TOPPADDING', (0, 0), (-1, -1), 0),
('BOTTOMPADDING', (0, 0), (-1, -1), 0),
('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
('SIZE', (0, 1), (-1, -1), 7),
('SIZE', (0, 0), (-1, 0), 8),
('FACE', (0, 0), (-1, 0), 'calibrib'),
('FACE', (0, 1), (-1, -1), 'calibri'),
])