You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python ReportLab自定义表格内部线条 实现按指定间隔显示粗线

实现代码

你不需要修改原有INNERGRID配置,只要动态追加间隔粗线的样式规则即可,完整代码如下:

from reportlab.lib import colors
from reportlab.platypus import TableStyle

# 可灵活调整的间隔参数,设置为n即每n行下方显示一条黑色粗线
lineBold = 2
# table_data 是你传给Table组件的二维列表数据源,这里获取表格总行数
rows_count = len(table_data)

table_style_config = [
    ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
    ('ALIGN', (1, 1), (-1, -1), 'LEFT'),
    ('INNERGRID', (0, 0), (-1, -1), 0.25, colors.lightgrey),
    ('LINEBELOW', (0, 0), (-1, 0), 1, colors.black),
    ('OUTLINE', (0, 0), (-1, -1), 1, colors.lightgrey),
    ('LEFTPADDING', (0, 0), (-1, -1), 1),
    ('RIGHTPADDING', (0, 0), (-1, -1), 1),
    ('TOPPADDING', (0, 0), (-1, -1), 1),
    ('BOTTOMPADDING', (0, 0), (-1, -1), 1),
]

# 按间隔动态添加粗线规则
for row_num in range(lineBold, rows_count, lineBold):
    table_style_config.append(('LINEBELOW', (0, row_num), (-1, row_num), 1, colors.black))

# 生成最终样式
final_table_style = TableStyle(table_style_config)

规则说明

  • lineBold参数可任意修改,比如设置为3就会每3行加一条粗线,完全适配灵活调整需求
  • 原有浅灰色内部网格线会保留,新增的黑色粗线会自动覆盖对应位置的浅灰线,最终效果和目标样式一致

内容的提问来源于stack exchange,提问作者matiii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:06:05