템플릿 DOCX 문서의 컨텐츠를 교체하고 XML SDK 2.0 (8 월 9 일)을 열어야합니까?

StackOverflow https://stackoverflow.com/questions/1361588

  •  20-09-2019
  •  | 
  •  

문제

원하는 레이아웃이 포함 된 "템플릿"DOCX 문서가 있고 C#을 사용하여 컨텐츠를 삽입하려는 문서가 있지만 단락이나 테이블과 같은 문서의 특정 섹션을 고유하게 해결하는 방법을 찾을 수는 없습니다. 문서의 요소를 고유하게 식별하는 가장 좋은 방법은 무엇입니까? 감사합니다, Matt Sharpe.

도움이 되었습니까?

해결책

템플릿은 어떻게 구축됩니까? *.docx의 일부로로드 된 기본 XML 스키마를 사용합니까? 아니면 개발자 리본에서 컨텐츠 컨트롤을 사용하고 있습니까?이 경우 각 컨트롤이 주어진 태그 이름으로 고유하게 식별됩니까? 이 두 가지 접근 방식은 테이블이나 단락이 어디에 있는지 제어 할 수 있으므로 문서의 특정 섹션을 더 쉽게 식별 할 수 있습니다.

또한 사용을 고려할 수 있습니다 XML SDK 2.0을 엽니 다 (.NET 3.5 사용). XML 열린 문서를 열고 검사 할 수있는 편리한 문서 반사기 도구가 포함되어 있으며 클릭 한 요소의 코드를 생성하는 방법을 보여줍니다.

그 외에도 컨텐츠 컨트롤에 대한 자세한 내용은이 게시물을 확인할 수 있습니다.

다른 팁

문서 변수/필드를 사용할 수 있습니까? 삽입-> 빠른 부품-> 필드-> 문서 변수로 이동하여 변수 이름을 입력하십시오.

예시:http://www.codeproject.com/kb/office/fill_mergefields.aspx

"## insert_first_name ##"과 같은 자리 표시 자 텍스트 값을 사용한 다음 해당 변수를 검색하고 교체 할 수도 있습니다.

예시:http://geekswithblogs.net/danbessasa/archive/2009/01/16/dynamically-generating-cord-2007-.docx-documents-using-.net.aspx

책갈피 또는 컨텐츠 컨트롤을 찾고 있다고 생각합니다 (리본의 개발자 탭, 코드 예제 여기)
나는 같은 목적으로 Excel에서 명명 된 범위를 사용했습니다.

이를위한 몇 가지 옵션이 있습니다.

태그를 값으로 대체 할 간단한 오픈 소스 라이브러리를 만들었습니다.

예를 들어 Hi {name} ~와 함께 data={name:"John"} 대체됩니다 Hi John.

여기있어 :https://github.com/edi9999/docxtemplater

데모: http://javascript-ninja.fr/docxgenjs/examples/demo.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top