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);
}
});
}
ありがとうございました!