1

office.js を使用して、データベースのデータを表形式で表示するアドインを作成しています。そのテーブルの列には、html 形式のデータを含めることができます。したがって、私の要件は、テーブルを作成するときと、そのテーブルに、フォーマット付きの通常のテキストとして表示する必要がある html コンテンツがある場合です。

テーブルを作成するコードを見つけました

 function writeTable() {
    // Build table.
    var myTable = new Office.TableData();
    myTable.headers = [["Cities"]];
    myTable.rows = [['<b>Hello there</b>'], ['Roma'], ['Tokyo'], ['Seattle']];

    // Write table.
    Office.context.document.setSelectedDataAsync(myTable, { coercionType: Office.CoercionType.Table },
        function (result) {
            var error = result.error
            if (result.status === Office.AsyncResultStatus.Failed) {
                write(error.name + ": " + error.message);
            }
        });
}

上記のコードでは

myTable.rows = [['<b>Hello there</b>'], ['Roma'], ['Tokyo'], ['Seattle']];

上記のコードでは、最初の値は html コンテンツであるため、テーブルが作成されたときに html は表示されず、出力は太字のHello のようになります。

必要に応じて実際に html を通常の形式で表示するコードも見つけましたが、上記のコードでは使用できません。HTMLレンダリング用に見つけたコードは次のとおりです。

function writeHtmlData() {
    Office.context.document.setSelectedDataAsync("<b>Hello</b> World!", { coercionType: Office.CoercionType.Html }, function (asyncResult) {

        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
          //  write('Error: ' + asyncResult.error.message);
        }
    });
}

ありがとうございました!

4

2 に答える 2