2017-10-10 17 views
0

현재 TinyButStrong의 Excel 플러그인을 사용하여 일정에 따라 보내지는 수많은 Excel 문서를 만듭니다. 단일 Excel 문서 내에서 각 워크 시트의 수가 서로 다른 개별 워크 시트로 정보를 분할하도록 요청되었습니다 (따라서 시트 수가 예측할 수 없기 때문에 템플릿 파일에 여러 시트를 사용할 수 없습니다) .Tiny 그러나 Strong의 Excel 플러그인을 사용하여 여러 Excel 문서를 병합하는 방법은 무엇입니까?

별도의 Excel 문서를 쉽게 만들 수 있으며 명명 규칙을 사용하여 병합 할 Excel 문서를 식별 할 수 있지만 TinyButStrong Excel을 사용하여 문서를 병합하는 방법을 찾을 수 없습니다.

참고 : 환경 때문에 PHP Excel은 선택할 수 없습니다.

여러 Exc3el 문서를 병합하는 방법을 알고 있거나 단일 워크 시트 템플릿에서 작성된 수많은 워크 시트가 포함 된 Excel 문서를 프로그래밍 방식으로 작성하는 경우 알려주십시오.

감사합니다.

+0

스택 오버플로에 오신 것을 환영합니다. 잘하셨습니다. [좋은 질문이 있습니까?] (https://stackoverflow.com/help/how-to-ask) 및 [Minimal, Complete, Verifiable 예제를 만드는 방법] (https : // stackoverflow)을 읽어보십시오. co.kr/help/mcve) 스택 오버 플로우 콘텐츠를 최상위 수준으로 유지하고 적절한 답변을 얻을 수있는 기회를 늘릴 수 있습니다. – Axel

답변

1

지금까지는 여러 개의 XLSX 문서를 단일 문서로 병합 할 수 없습니다. OpenTBS에서 워크 시트 XML 소스를 읽을 수 있음에도 불구하고 XLSX 소스 파일에서 다른 XLSX 대상 파일 으로 XML을 복사 할 수 없기 때문입니다. 이러한 XML은 스타일, 주석, 인쇄 설정 등에 여러 내부 ID를 사용하기 때문입니다. 이러한 id는 XML 소스 파일의 복잡한 위치에 저장됩니다. 그런 간단한 복사는 잘못된 대상 XLSX 파일을 생성합니다.

또 다른 요점은 OpenTBS가 (지금은) XLSX에서 새로운 워크 시트를 만들 수 없다는 것입니다. 템플리트에서 기존 워크 시트 만 수정, 삭제 또는 숨길 수 있습니다.

그래서 문제의 해결책은 최종 XLSX 파일에서 가질 수있는 가능한 모든 워크 시트가 들어있는 XLSX 템플릿 파일을 만드는 것입니다. 그런 다음 원하는 워크 시트 (OPENTBS_SELECT_SHEET 사용)를 병합하고 원하지 않는 워크 시트 (OPENTBS_DELETE_SHEETS 사용)를 삭제할 수 있습니다.

+0

고마워요! 이것은 비슷한 문제로 나를 돕고있다 ... 나는 여전히 OpenTBS가 XLSX에서 다중 워크 시트를 만들 수 있기를 바란다. – AAA

+0

고마워. 나는 이것을 시도하고 있으며 이제 여러 블록을 병합하는 문제에 직면 해있다. 다음과 같이 MergeBlock 문을 분리 해 봅니다. $ TBS-> MergeBlock ('b1', $ block_b1); $ TBS-> MergeBlock ('b2', $ block_b2); ... 결과는 첫 번째 블록을 제외한 모든 블록을 무시합니다. 여러 블록을 병합하면서 각 블록에서 동일한 데이터를 사용하는 것에 대한 참고 사항을 참조하십시오. $ TBS-> MergeBlock ('b1, b2, b3', $ block_data_used_in_each); ...하지만 각 블록의 다른 배열을 병합하는 방법에 대한 TBS 문서는 없습니다. –