office.js를 사용하여 데이터베이스의 데이터를 테이블 형식으로 표시하는 addin을 만듭니다. 해당 테이블 열에 html 형식의 데이터가있을 수 있습니다. 그래서 내 요구 사항은 테이블을 만들 때 그 테이블에있는 모든 열에는 서식있는 텍스트로 표시되어야하는 html 콘텐츠가있는 것입니다. office.js를 사용하여 html 형식의 데이터로 표를 만듭니다.
제가 첫번째 값이 HTML 콘텐츠 때문에 테이블은 HTML이 안 생성 될 때 인 상기 코드의 상기 코드myTable.rows = [['<b>Hello there</b>'], ['Roma'], ['Tokyo'], ['Seattle']];
테이블
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);
}
});
}
을 생성하는 코드를 발견 출력은 과 같아야합니다. 안녕하세요.은 굵게 표시됩니다.
필자는 필요에 따라 실제로 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);
}
});
}
고맙습니다!
답장을 보내 주신 데 대해 감사합니다.하지만 데이터는 HTML 형식이며, 테이블을 만든 후에 테이블이 bindingselectionchanged와 같은 이벤트로 바인딩되어야합니다. 나는 다른 일을 위해이 사건을 구속 할 것이다. 그러면 어떻게이 상황에서이 작업을 수행 할 수 있습니까? –
재미있는 시나리오 Pradeep. 당신은 완전히 이것을 할 수 있습니다. Word의 바인딩은 실제로 콘텐츠 컨트롤로 래핑 된 개체이므로 Word의 테이블 바인딩은 실제로 콘텐츠 컨트롤 내의 테이블이라는 점을 알아야합니다. 즉, 한 가지 가능한 전략은 HTML을 range.insertHtml 기능과 함께 사용하여 테이블을 삽입하거나 설명 된 테이블 개체를 삽입 한 다음 추가 API API를 사용하여 추가 서식을 적용한 다음 표를 래핑하는 것입니다 콘텐츠 컨트롤 (표.insertContentControl)을 사용하려면 –
에 해당 콘텐츠 컨트롤에 제목을 추가해야 bindings.addFromNamedItem을 사용하여 테이블 바인딩을 만들 수 있습니다. –