我正在使用python-docx创建一个脚本(rows = 1,cols = 1)。单元格内的文本需要垂直和水平对齐,背景为灰色。
我使用WD_TABLE_ALIGNMENT水平对齐文本和xml以为背景着色。但这是我的问题。我把一个XML脚本垂直对齐,我有一个错误:"全局名称' qn'未定义。"
以下是代码:
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.oxml.ns import nsdecls
from docx import parse_xml, OxmlElement
def create_table():
table = document.add_table(rows=1, cols=1)
table.alignment = WD_TABLE_ALIGNMENT.CENTER
row_cells=table.rows[0].cells
tc=row_cells[0]._tc
tcPr=tc.get_or_add_tcPr
tcVAlign = OxmlElement('w:vAlign')
tcVAlign.set(qn('w:val'), "center")
tcPr.append(tcVAlign)
是导入错误吗?还是脚本错误?
感谢。
答案 0 :(得分:0)
我正在查看docx库,在/docx/oxml/xlmchemy.py中找到了一行:
from .ns import qn
所以我试着这样做:
from docx.oxml.ns import qn
这是一个ns函数,它可以工作。
感谢。