2016-11-21 5 views
0

내가 이미지 아래에 같은 내용으로 enter image description here표 삽입은 자바 스크립트 API

을 테이블을 추가하기 위해 추가 된 JavaScript API 말씀을 사용하려고 그리고이 내 코드입니다 사용 내 문서에 표를 추가하지 마십시오. 콘텐츠가있는 표를 추가하려면 어떻게해야합니까?

답변

1

몇 가지 코멘트 :

  1. 당신은 당신의 문서에 표를 삽입하기 위해 테이블 ​​수집을로드 할 필요가 없습니다. 삽입하기 만하면됩니다.
  2. 메서드에 보내는 매개 변수가 잘못되었습니다. 아래 예제를 살펴보면 삽입 할 데이터가 2 차원 어레이에 있어야하는 값이 누락되었습니다. 이것이 마지막 매개 변수입니다. 참조 here을 확인하십시오.

다음은 예제입니다. 삽입 할 수있는 몇 가지 유형의 테이블을 추가하고 있습니다. insertTable 메소드로 전송 된 배열을 변경하십시오.

Word.run(function (ctx) { 
 

 
      var fruits = [["Apple", "red", "round", "crunchy"], ["Banana", "yellow", "long", "mushy"], ["Pear", "green", "oblong", "variable"]]; 
 
      var fruitsNonuniform = [["Apple", "red"], ["Banana", "yellow", "long", "mushy"], ["Pear", "green", "oblong"]]; 
 
      var fruitsUnderfilled = [["Apple", "red", "", ""], ["Banana", "yellow", "long", "mushy"], ["Pear", "green", "oblong", ""]]; 
 

 
// parameters of the insert table: number of rows to insert, number of columns, insert location (in this case the table is inserted at the beginning of the document, and finally the values which is the array itself. 
 
      var table = ctx.document.body.insertTable(fruits.length, fruits[0].length, "start", fruits); 
 
      ctx.load(table); 
 
      return ctx.sync().then(function() { 
 
       table.style = "Grid Table 6 Colorful - Accent 2"; 
 
       return ctx.sync().then(function() { 
 
        
 
       }); 
 

 
      }).catch(function (e) { 
 
       console.log(e.message); 
 

 
      }); 
 
     });

+0

또한 insertTable 당신이 body.insertTable을 수행 할 수 있습니다 또는 당신은 또한 getSelection.insertTable, contentControl.insertTable을 할 수 있도록 등 등 등, 범위의 속성입니다 있습니다 –

0

마틴의 의견 이외에 다른 몇 가지주의 사항 :

  • 당신은 오류를 일으키는 .catch 문을 누락이 자동으로 삼켜 얻을 수 있습니다. 추가 할 경우 더욱 편리하게 디버깅 할 수 있습니다. .catch
  • 특히 .first API의 경우 이름이 (getFirst()) IIRC로 바뀌었을 수 있습니다. 그러나 어떤 빌드 및/또는 JS 버전 콤보가 여기에서 작동하는지 확실하지 않습니다.
  • 본질적으로 오류는 아니지만 테이블 컬렉션에서 아무 것도 읽지 않으므로 테이블 컬렉션에 load 문을 사용할 필요가 없습니다. 대신 새로운 테이블 개체를 검색하고 있습니다. 귀하의 예에