Reportlab,表太大而且LayoutError

时间:2015-11-17 08:47:10

标签: python reportlab

我正在使用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'),
                             ])

0 个答案:

没有答案