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

如何使用Python-docx实现同一行放置多个独立表格

要在Word同一行放置两个独立表格,你之前尝试的WD_TABLE_DIRECTION(控制表格内文字方向)和WD_TABLE_ALIGNMENT(控制单个表格在页面的水平对齐)本身就不支持同行多表格布局,正确实现方式是使用无边框嵌套父表格实现效果,具体操作如下:

from docx import Document
from docx.shared import Pt

# 初始化文档
document = Document()

# 1. 创建1行2列的父容器表格,用于承载两个并排的子表格
parent_table = document.add_table(rows=1, cols=2)
parent_table.autofit = False

# 2. 隐藏父表格所有边框,让它仅作为布局容器不显示在文档中
for row in parent_table.rows:
    for cell in row.cells:
        # 操作底层xml删除单元格边框
        tc = cell._tc
        tcPr = tc.get_or_add_tcPr()
        exist_borders = tcPr.xpath('./w:tcBorders')
        if exist_borders:
            tcPr.remove(exist_borders[0])
        # 按需设置两个单元格宽度,示例为各占300磅宽度
        cell.width = Pt(300)

# 3. 在第一个单元格插入第一个独立表格,样式、内容可单独配置
cell1 = parent_table.cell(0, 0)
table1 = cell1.add_table(rows=3, cols=3)
table1.style = 'Table Grid'
for i in range(3):
    for j in range(3):
        table1.cell(i, j).text = f"表1-{i+1}行{j+1}列"

# 4. 在第二个单元格插入第二个独立表格,和第一个表格完全独立
cell2 = parent_table.cell(0, 1)
table2 = cell2.add_table(rows=3, cols=3)
table2.style = 'Table Grid'
for i in range(3):
    for j in range(3):
        table2.cell(i, j).text = f"表2-{i+1}行{j+1}列"

# 保存文档
document.save("同行双表格.docx")

补充说明

  • 两个子表格完全独立,样式、数据调整互不影响
  • 父表格边框完全隐藏,查看、打印时都不会显示,视觉效果就是两个并排的独立表格
  • 如果需要调整两个表格的间距,修改父表格单元格宽度、或者设置单元格内边距即可

内容的提问来源于stack exchange,提问作者Israr Hussain Rao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:54:08