Word JS API не имеет возможности (пока) определять, как должны вести себя столбцы таблицы. Он просто принимает значение по умолчанию, что означает, что столбцы будут приспосабливаться к своему содержанию.
Таким образом, единственное решение - это работа с Word Open XML. Возможно, проще всего было бы вставить всю таблицу (по крайней мере, базовые структуры), используя методы OOXML в Word JS API, а не пытаться изменить (заменить) существующую таблицу.
Ширина столбца, заданная в процентах, контролируется рядом элементов, определяющих таблицу. Эта ссылка на OfficeOpenXML.com может быть полезной.
Следующий Word Open XML, созданный с использованием объектной модели COM и свойства Table.Range.WordOpenXML
, иллюстрирует основные структуры таблиц в формате таблицы. в процентах от ширины страницы (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>