【发布时间】:2019-11-07 13:18:30
【问题描述】:
我正在开发一个处理 Word 模板的 Word Addin/Office JS 项目。我的要求是当用户点击插件时将静态表加载到模板中。
第一步:将静态表数据转换成OOXML并存入数据库。
示例表结构:Image1
这个表格里面有复选框控件和内容控件。 我正在生成 OOXML 以将其加载到数据库中。
代码
var body = context.document.body;
var bodyOOXML = body.getOoxml();
第 2 步:当用户点击插件时,从数据库中检索表数据并将其加载到文档中。
代码
var body = context.document.body;
body.insertOoxml(currentOOXML, Word.InsertLocation.replace);
但是当我检索表格数据时,表格中的复选框控件显示为“?”
请在下面找到示例
示例表结构:
谁能帮我解决这个问题:我不明白为什么复选框控件被转换为“?”
如果我点击“?”将其转换回复选框
【问题讨论】:
-
您能否告诉我们用于创建这些复选框的 Word UI 命令?至少有四种不同的可能性,如果不知道这是哪一种,就不可能研究问题可能是什么……或者提供定义这种复选框的 Word Open XML。
-
@CindyMeister 创建复选框控件的步骤: 第 1 步:打开一个 word 文档。第 2 步:导航到开发人员选项卡。第三步:点击复选框控件,控件被添加到文档中
-
我的研究表明,这种行为可能是由于没有立即识别 Unicode 字体。 Word Open XML 显示复选框内容控件是 Unicode 2610 / 2612 格式的字体 MS Gothic,否则将“包装”在应用于文本的任何字体中。单击在这两个 Unicode 值之间切换的字体符号背后有代码。Word Open XML:
<w14:checkbox><w14:checked w14:val="0"/><w14:checkedState w14:val="2612" w14:font="MS Gothic"/><w14:uncheckedState w14:val="2610" w14:font="MS Gothic"/></w14:checkbox> -
请注意,这个“隐藏代码”可能是@WenboShi 写道,Word Online 不支持该控件的原因。
-
您可以尝试 form field(来自复选框内容控件所在的同一组中的
Legacy Tools),看看是否更适合你...
标签: ms-word office-js office-addins word-addins word-web-addins