Mam dokument "szablon" docx, który zawiera żądany układ i chcę wstawić zawartość przy użyciu C#, ale nie mogę znaleźć sposób na unikalne adres konkretnych sekcji dokumentu, takich jak akapity lub tabele. Jaki jest najlepszy sposób na jednoznaczną identyfikację elementów w dokumencie? Dzięki, Matt Sharpe.Jak zamienić zawartość w dokumencie dokumentowym docx i Open XML SDK 2.0 (09 sierpnia)?
Odpowiedz
Jak zbudowany jest twój szablon? Czy używa bazowego schematu XML załadowanego jako część pliku * .docx? A może używasz kontroli treści poza wstążką dla programistów, w którym to przypadku każda kontrola jest jednoznacznie identyfikowana przez daną nazwę tagu? Oba te podejścia ułatwiłyby identyfikację niektórych sekcji dokumentu, ponieważ można kontrolować, gdzie znajdują się tabele lub akapity.
Możesz również rozważyć użycie Open XML SDK 2.0 (używa .NET 3.5). Zawiera poręczne narzędzie do odczytywania dokumentów, które umożliwia otwieranie i sprawdzanie dowolnego dokumentu Open XML i pokazuje, jak wygenerować kod dla dowolnego klikniętego elementu.
Oprócz tego, aby dowiedzieć się więcej na temat kontroli treści można sprawdzić te posty:
Czy możesz użyć zmiennych/pól dokumentu? Po prostu przejdź do Insert-> Quick Parts-> Fields-> Doc Variable, wprowadź nazwę zmiennej.
przykład: http://www.codeproject.com/KB/office/Fill_Mergefields.aspx
Można też po prostu użyć wartości tekstowe zastępczy jak „## insert_first_name ##”, a następnie zrobić wyszukiwania i zamiany dla tych zmiennych.
Dzięki za odpowiedź. DocVariable wygląda interesująco i możemy potencjalnie użyć tego dla fragmentów tekstu. Nie dotyczy to jednak kwestii tabel jednoznacznie identyfikujących. –
myślę szukasz albo zakładek lub kontroli zawartości (na karcie Deweloper na wstążce, w przykładzie kodu here)
używałem nazwane zakresy w Excel w tym samym celu.
Bardzo dziękuję, przyjrzę się w zakładce Deweloper w Wstążce ... Zapomniałem, że tam był ;-) –
Istnieje kilka opcji, aby to zrobić.
Stworzyłem prostą bibliotekę otwartego źródła, która zastąpi znaczniki według wartości.
Na przykład Hi {name}
z data={name:"John"}
zostanie zastąpione przez Hi John
.
Oto ona: https://github.com/edi9999/docxtemplater
Demo: http://javascript-ninja.fr/docxgenjs/examples/demo.html
Zbiorniki @ edi9999 Działa bardzo ładnie z .docx, ale mają ten sam problem z .pptx. – Massimo212121
Działa również z pptx (użyj 'PptxGen = require (" docxtemplater ").PptxGen' zamiast) – edi9999
jeszcze raz dziękuję @ edi9999 woki z pptx :) – Massimo212121
- 1. Jak skutecznie buforować i czyścić strumień w Open XML SDK
- 2. C# Open XML 2.0 NumberFormatId range
- 3. Link do samouczków Microsoft Open XML SDK
- 4. Błąd w dokumencie XML (2,2)
- 5. Osadź zawartość pliku RTF w pliku DOCX przy użyciu zestawu OpenXML SDK
- 6. niedozwolony znak w dokumencie xml
- 7. Jak zmienić wartość atrybutu w dokumencie XML?
- 8. Office Open XMl SDK Zapisywanie liczb na arkuszu
- 9. python i XML: jak umieścić dwa dokumenty w jednym dokumencie
- 10. Zastąp tekst w dokumencie programu Word przy użyciu otwartego pliku Xml
- 11. PHP open gzipped XML
- 12. Jak mogę pobrać niektóre dane obrazu i formatować za pomocą MS Open XML SDK?
- 13. Uzyskiwanie koloru tła komórki w programie Excel przy użyciu Open XML 2.0
- 14. Deserializacji błąd w dokumencie XML (1,1)
- 15. Jak dodawać hiperłącza do dokumentu docx programu Word przy użyciu otwartego kodu XML?
- 16. Parsowanie lokalnego pliku xml w iOS sdk
- 17. Jaka jest różnica między Office Automation, VSTO i Open XML SDK?
- 18. IOS SDK - jak wyświetlić zawartość tabeli tableView?
- 19. Jak używać schematu na komputerze lokalnym w dokumencie XML
- 20. CURLOPT_WRITEFUNCTION aby uzyskać zawartość XML
- 21. Otwórz XML - jak dodać znak wodny do dokumentu docx
- 22. Programowe formatowanie daty w arkuszu programu Excel przy użyciu pakietu Office Open Xml SDK
- 23. PHP date() w językach obcych - np. Mar 25 Aoû 09
- 24. Jak zachować wiersze tabeli w python-docx?
- 25. Liczba stron w dokumencie słowo w java
- 26. Jak dodać informacje o dokumencie XML do pliku scala.xml?
- 27. gdzie mogę znaleźć kompletne odniesienie do pakietu office open xml?
- 28. Specyfikacja Office Open XML (OOXML) Specyfikacja: Szyfrowanie
- 29. Dodaj nagłówek i stopkę do istniejącego pustego dokumentu Word z pakietem OpenXML SDK 2.0
- 30. Jak sprawdzić z java, czy dany element XML są istniejące w dokumencie XML
Pozdrawiam, przyjrzę się tym liniom. Dziękuję bardzo. –