문제

Word (.docx) 형식의 템플릿이 있으며이 템플릿의 일부 자리 표시자를 내 데이터로 바꾸고 싶습니다.이 프로젝트에 적합한 클래스를 찾을 수있는 곳을 알고 있습니까? 네임 스페이스를 아는 것이 좋을 것입니다. COM 클래스보다 DOCX 형식 (XML)의 Word 문서를 처리하기위한 최신 클래스가 있습니까? 모든 답변에 감사드립니다. 누군가 내 문제를 도와 줄 수 있기를 바랍니다.

인사합니다

세바스찬

도움이 되었습니까?

해결책

새로운 사무실 형식 (DOCX, XLSX 등)은 XML 파일 모음이 포함 된 ZIP 파일입니다. 이를 염두에두고 몇 가지 접근 방식이 있습니다.

  1. 위치한 Open XML SDK를 사용할 수 있습니다 http://www.microsoft.com/downloads/details.aspx?familyId=AD0B72FB-4A1D-4C52-BDB5-7D7E816D046&displaylang=en

  2. DOCX 파일을 압축하고 검색을 수행하고 토큰을 교체 한 다음 다시 집어 넣을 수 있습니다.

웹 사이트가 있습니다 OpenXmlDeveloper.org 그것은 이런 종류의 일입니다. 또한 이미 SDK의 베타 버전 2를 배송하고 있음을 명심하십시오.

다른 팁

Eric White는이 주제에 대해 DOCX 파일에 포함 된 소스 스 니펫을 검증하기위한 프로그램을 자세히 설명하는 블로그 기사. 그 기사를 넘어서 그의 시리즈를 읽는 것이 좋습니다. Office Open XML 및 C#.

나는 이것을 사용했다 :

body.elements ()의 요소에서 ienumerable test2 = element.innertext.contains ( "sdt") 선택 요소;

그건 그렇고 XML을 사용하여 모든 SDT 노드를 찾는이 솔루션을 찾았습니다.

 NameTable nt = new NameTable();
        XmlNamespaceManager nsManager = new XmlNamespaceManager(nt);
        nsManager.AddNamespace("w", wordmlNamespace);

        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(doc.MainDocumentPart.GetStream());

        XmlNodeList nodeList = xDoc.SelectNodes(@"./w:document/w:body//w:sdt", nsManager);

작동하지만 Open XML Format SDK 2.0이 나에게 기회를주지 않습니까?

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