2017-10-26 15 views
0

테이블이있는 ODT 파일 (또는 docx)을 만들려고합니다. 본인은 모든 SO 및 지원 포럼을 검색하지만,이 같은 것을 만드는 방법을 아무 생각이 : 그래서OpenTBS로 테이블 생성 - 각 셀을 별도의 셀로 구성

cell1.val1 | cell2.val1 | cell3.val1 
cell1.val2 | cell2.val2 | cell3.val2 
cell1.val3 | cell2.val3 | cell3.val3 
------------|--------------|------------ 
cell4.val1 | cell5.val1 | cell6.val1 
cell4.val2 | cell5.val2 | cell6.val2 
cell4.val3 | cell5.val3 | cell6.val3 
----------------------------------------` 

와, 그리고에 ... 나는 배열을 구축하는 방법을하는 방법을 모른다 그것을위한 템플릿을 만듭니다. 누군가가 비슷한 해결책을 가지고 있다면 도움이 될 수있어서 매우 감사 할 것입니다.

답변

1

테이블에 두 개의 병합이 있습니다. 테이블의 여러 셀을 병합하고 셀의 항목을 병합합니다.

표의 다른 셀을 병합하려면 블록을 serial 옵션으로 병합 할 수 있습니다. exampledoc을 참조하십시오.

셀의 항목을 병합하려면 하위 블록을 사용할 수 있습니다. 가장 간단한 방법은«자동 하위 블록»입니다. exampledoc을 참조하십시오. 데이터는 다음과 같이 구성되어있는 경우

그래서 :

$data = array(
    array(
    'cell_id' => 1, 
    'items' => array(
     array('value' => 1), 
     array('value' => 2), 
     array('value' => 3), 
     // ... 
    ), 
    ), 
    array(
    'cell_id' => 2, 
    'items' => array(
     array('value' => 1), 
     // ... 
    ), 
    ), 
    ... 
); 

은 템플릿은 다음과 같이 할 수있다 :이 예에서

------------------------------------------------------------------------------------------------------------------------------- 
| Column 1        | Column 2        | Column 3        | 
------------------------------------------------------------------------------------------------------------------------------- 
| [b;block=tbs:row;serial]    |           |           | 
| [b_1.cell_id;block=tbs:cell;sub1=items] | [b_2.cell_id;block=tbs:cell;sub1=items] | [b_3.cell_id;block=tbs:cell;sub1=items] | 
| [b_1_sub1.value;block=tbs:p]   | [b_2_sub1.value;block=tbs:p]   | [b_3_sub1.value;block=tbs:p]   | 
------------------------------------------------------------------------------------------------------------------------------- 

는 셀의 항목은 단락에 병합 ( block=tbs:p) TBS 필드가 자체 단락에 배치된다고 가정합니다. 중첩 된 테이블을 사용할 수도 있고 block=tbs:row을 지정해야합니다.

+0

많은 도움을 주셔서 감사합니다. 나는'serial' 예제로 관리하려고 시도하지만,'PHP Programm'을 복사하고 ODT 파일에'Template Source' 코드를 설정할 때'TinyButStrong Error in block 's definition [bx ...] : 적어도 하나의 태그 tr에 해당하는 항목을 찾을 수 없습니다. 여는 태그, 닫는 태그 및 포함 레벨을 확인하십시오. '그리고 잘못된 것을 알아낼 수는 없습니다. 예를 들어 모든 것이 잘됩니다 ... ODT가 다운되었습니다. – Kamil

+0

템플릿에 대한 자세한 내용은 여기 ODT 파일 https://imgur.com/a/hKftJ의 스크린 샷과 PHP 프로그램 코드 https://pastebin.com/VgVq20rd – Kamil

+0

OK, GOT IT! ODT 파일 내의 태그가 잘못되었습니다. 'block' 접두사를'tbs'로 변경하고 td와 tr에 올바른 이름을 설정했습니다. tds의 셀과 행의 이름을 지정해야합니다. 그래서 지금은 내가 원하는 것을 얻는다. – Kamil