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

如何使用python-docx实现Word文档中两个表格并排摆放

问题原因

直接插入两个独立表格时,Word默认每个表格独占一个段落块,仅设置左右对齐无法实现并排效果,只会让两个表格上下分布。

可行解决方案

优先推荐无框容器表格法,兼容性最好,排版稳定不会出现错位:
核心思路是先创建一个1行2列的隐藏边框表格作为容器,两个单元格分别存放需要并排的tableA和tableB,外层容器的边框设为不可见,最终呈现效果就是两个表格并排。

完整实现代码如下:

from docx import Document
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.shared import Cm

document = Document()

# 1. 创建1行2列的外层容器表格,设置为无边框样式
container_table = document.add_table(rows=1, cols=2, style='No Border')
# 可选:设置容器单元格的内边距,控制两个表格的间距
for cell in container_table.rows[0].cells:
    cell.width = Cm(7)  # 按需调整每个单元格宽度,总宽度不要超过页面可用宽度
    # 调整单元格内边距,避免子表格贴边
    cell.margin_top = Cm(0.1)
    cell.margin_bottom = Cm(0.1)
    cell.margin_left = Cm(0.1)
    cell.margin_right = Cm(0.1)

# 2. 在第一个单元格插入tableA
cell_a = container_table.rows[0].cells[0]
tableA = cell_a.add_table(rows=3, cols=3)
tableA.alignment = WD_TABLE_ALIGNMENT.LEFT
# 可选:给tableA加边框,用默认网格样式
tableA.style = 'Table Grid'

# 3. 在第二个单元格插入tableB
cell_b = container_table.rows[0].cells[1]
tableB = cell_b.add_table(rows=3, cols=3)
tableB.alignment = WD_TABLE_ALIGNMENT.RIGHT
tableB.style = 'Table Grid'

document.save('test.docx')
注意事项
  • 如果不需要显示子表格的边框,去掉tableA.style = 'Table Grid'相关代码即可
  • 两个单元格的总宽度不要超过页面可编辑区域宽度(默认A4纸左右边距各2.54cm,可用宽度约16cm),否则会自动换行
  • 如果需要调整两个表格的间距,修改单元格的margin_right/margin_left参数即可

内容的提问来源于stack exchange,提问作者Z.Edibo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 03:42:01