Ms word 如何使用office js设置表格宽度百分比
我正在从事Office JS word插件项目。 我正在创建一个包含4列的表。我想将宽度百分比分别设置为30%,30%,20%,20%。我怎样才能像这样设置桌子的宽度。下面是我用于创建表的示例代码Ms word 如何使用office js设置表格宽度百分比,ms-word,office-js,add-in,word-addins,Ms Word,Office Js,Add In,Word Addins,我正在从事Office JS word插件项目。 我正在创建一个包含4列的表。我想将宽度百分比分别设置为30%,30%,20%,20%。我怎样才能像这样设置桌子的宽度。下面是我用于创建表的示例代码 function createTable() { Word.run(function (context) { var body = context.document.body; var Table = body.insertTable(2, array.length, Wo
function createTable() {
Word.run(function (context) {
var body = context.document.body;
var Table = body.insertTable(2, array.length, Word.InsertLocation.start, [array]);
return context.sync();
})
.catch(errorHandler);
}
JSAPI这个词还没有能力指定表列的行为。它只是假设默认值,这意味着列将根据其内容进行调整 因此,唯一的解决方案是使用openxml这个词。最简单的方法可能是使用wordjsapi的OOXML方法插入整个表(至少是基本结构),而不是试图更改(替换)现有表 列宽设置为百分比时,由定义表的许多元素控制。这对于OfficeOpenXML.com可能很有用 使用COM对象模型和属性
Table.Range.WordOpenXML
生成的以下Word Open XML说明了表格的基本表格结构,表格格式为页面宽度的百分比(w:tblW
),单元格格式为表格宽度的百分比(w:tcW
)。该表有两列,分别设置为20%和80%。请注意,Word将根据其布局算法最小限度地调整百分比,因此实际百分比始终是近似值
w:gridCol
设置也反映了这些比例
除了百分比之外,w:type
属性也很重要。它告诉Word如何解释宽度设置:w:type=“pct”
指定“百分比”
这些值可能非常大,这是因为它们是百分之五。所以5000是100%
<w:tbl>
<w:tblPr><w:tblStyle w:val="TableGrid"/>
<w:tblW w:w="5000" w:type="pct"/>
<w:tblLayout w:type="fixed"/>
<w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:noHBand="0" w:noVBand="1"/>
</w:tblPr>
<w:tblGrid><w:gridCol w:w="944"/><w:gridCol w:w="3700"/></w:tblGrid>
<w:tr>
<w:tc><w:tcPr><w:tcW w:w="1016" w:type="pct"/></w:tcPr>
<w:p/>
</w:tc><w:tc><w:tcPr><w:tcW w:w="3984" w:type="pct"/></w:tcPr>
<w:p/>
</w:tc><
/w:tr>
</w:tbl>
<
/w:tr>
同意,但我的表创建将基于从一个api接收的数据进行动态。此api将提供所有列值以及宽度。在OOXML中,我需要设置一个预定义的模板,并根据该表定义绘制表。如何动态设置宽度并绘制表格?请参阅我刚才对您关于数据部分的问题的回答。如果您不具备将数据“循环”成XML的背景,那么您需要后退一步并了解这一点。这是一个多方面的主题,对于堆栈溢出来说太宽泛了。