Reportlab的Grid完全关闭

问题描述 投票:1回答:1

看起来我的表格内容和网格表现不正常,即网格没有像预期那样装箱。

这是我的代码:

    story = []

    data = [['Data1', 'Data2', 'Data3', 'Data4', 'Data5', 'Data6'],
            ['0.2', '-0.1', '0', '0', '-0.5', '0.6']]

    colwidths = (50, 50, 50, 50, 50, 50)
    rowheights = (10, 10)

    t = Table(data, colwidths, rowheights)

    GRID_STYLE = TableStyle(
        [('FONTSIZE', (0, 0), (-1, -1), 5),
         ('GRID', (0, 0), (-1, -1), 0.5, colors.black),
         ('ALIGN', (1, 1), (-1, -1), 'RIGHT')]
    )

    t.setStyle(GRID_STYLE)
    story.append(t)

    doc = SimpleDocTemplate('mydoc.pdf', pagesize=landscape(letter), topMargin=50)
    doc.build(story)

这是我得到的pdf输出:

enter image description here

有谁知道我在这里俯瞰什么?

python reportlab
1个回答
1
投票

除了你的Align(1,1),( - 1,-1),它从第1列,第1行右边对齐(而不是第0列和第0行(从0开始计数)),根据我的经验,它是全部关于在指定TableStyle时是否详细。如果不这样,Style将自己分配默认值(例如右边和左边填充),这通常不是你想要的。因此,为了完全控制,尝试为所有类别分配值,不要留下任何相关类别。

例如。我在下面看起来更好看

story = []

data = [['Data1', 'Data2', 'Data3', 'Data4', 'Data5', 'Data6'],
        ['0.2', '-0.1', '0', '0', '-0.5', '0.6']]

colwidths = (50)
rowheights = (10)

t = Table(data, colwidths, rowheights)

GRID_STYLE = TableStyle(
    [('FONTSIZE', (0, 0), (-1, -1), 5),
     ('GRID', (0, 0), (-1, -1), 0.5, colors.black),
     ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
     ('LEFTPADDING', (0, 0), (-1, -1), 0),
     ('RIGHTPADDING', (0, 0), (-1, -1), 0),
     ('TOPPADDING', (0, 0), (-1, -1), 0),
     ('BOTTOMPADDING', (0, 0), (-1, -1), 0),
     ('FONTNAME', (0, 0), (-1, -1), 'Helvetica'),
     ('SIZE', (0, 0), (-1, -1), 7),
     ('LEADING', (0, 0), (-1, -1), 8.2),
     ]
)

t.setStyle(GRID_STYLE)
story.append(t)

doc = SimpleDocTemplate('mydoc.pdf', pagesize=landscape(letter), topMargin=50)
doc.build(story)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.