Office 插件开发:在 Word 中设计插入的 HTML 表格

问题描述

我正在处理 Word 任务窗格加载项 (Office.js)。在这插件中,我有一个函数可以在文档中插入一个 HTML 表格。这工作正常,但现在我想设计表格。似乎只能使用内联样式。我的意思是我不能使用任何外部 CSS 文件来设置插入 HTML 表的样式,这是合乎逻辑的,因为在 Word 文档中不可能引用这样的 css 文件?我只是想知道是否还有其他选项,例如为表格设置样式,例如在 Word 中引用或应用(内置)样式。但我不知道在这种情况下我会怎么做。

 function createReGeBoHtmlTable(result) {

    var srcArray = result.sources;

    var table = "<table border='1' style='border: 1px solid black;border-collapse: collapse;width:100%'>";

    table += "<tr><th style='background-color:#FF0000;text-align:left'>Onderdeel</th><th>Bevinding</th><th>informatiebron</th></tr>";

    $.each(result.Values,function (i,item) {
        console.log(item);

        var src = "";
        if (item.sources) {

            $.each(item.sources,function (j,source) {
                src = src + srcArray[source].name + '<sup>' + source.toString() + '<sup> \n';
            })
        };

        table += "<tr><td style='width:40%'><strong>" + item.title + "</strong></td><td>" + ((item.value == 'null') ? "" : item.value) + "</td><td>" + src + "</td></tr>";
    });

    table += "</table>";
    insertHtmlTable(table);

这是我用来创建表格的代码

    function insertHtmlTable(htmlTable) {
    Word.run(function (context) {

        var thisDocument = context.document;

        var range = thisDocument.getSelection();
        range.insertHtml(htmlTable,'End');
        return context.sync().then(function () {
            ;
            console.log('Added Table.');
        });
    })
        .catch(function (error) {
            console.log('Error: ' + JSON.stringify(error));
            if (error instanceof OfficeExtension.Error) {
                console.log('Debug info: ' + JSON.stringify(error.debugInfo));
            }
        });
}

欢迎提出任何想法。

更新

与此同时,我找到了另一种开发插件方法。这也给了我在表格上使用样式的可能性。我还发现了一个非常有用的选项来开发插件 (Script Lab。我现在使用 Yeoman Getting Started 生成我的插件

可以关闭此问题!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)