2012-04-02 39 views

Odpowiedz

5

Zrobiłem to na różne sposoby w przeszłości. Zależy to od tego, czy użytkownik zainicjuje akcję z ZEWNĄTRZ programu Microsoft Word, czy z INSIDE Microsoft Word.

Od INSIDE Microsoft Word, można użyć jednej z następujących technik:

  1. otworzyć szablon zastępcze i użyć VBA lub VSTO iteracyjne nad nimi za pomocą źródła danych z wykorzystaniem funkcji kopiowania & pasty. Należy pamiętać, że stoły są tu również przestępstwem. To podejście przypomina podejście 1 poniżej z "ZEWNĄTRZ". Wadą jest to, że jest stosunkowo powolne (skopiuj & wklej) i że Autokorekcja Microsoft Word lubi kopać, gdy najmniej potrzebne.
  2. Otwórz szablon z symbolami zastępczymi i użyj VBA lub VSTO do przeanalizowania reprezentacji XML, a następnie zastąp je. Jest szybszy, ale trudniejszy do napisania. Zwłaszcza, że ​​reprezentacja XML może zawierać fragmenty XML w elementach zastępczych (takie jak "&amp;lt;&amp;lt;PUT_<xxx/>IT_HERE&amp;gt;&amp;gt;" i bardziej złożone przypadki). Musisz również upewnić się, że zachowujesz prawidłowy dokument XML i że jest on zrównoważony.

Od POZA Microsoft Word (takie jak interfejs www) można użyć jednej z następujących technik:

  1. zapisać szablon gdzieś przy użyciu RTF (co jest o wiele łatwiejsze w obróbce niż własnej struktury Worda). Umieść "&lt;&lt;PLACEHOLDER-FOR-NAME&gt;&gt;" lub podobne łatwo rozpoznawalne teksty, które chcesz zastąpić. Gdy użytkownik zażąda dokumentu programu Word, pobierz plik RTF, pobierz dane, zamień symbole zastępcze, serwer RTF na użytkownika. RTF ma pewne ograniczenia, ale pewne zalety. Zaletami są: łatwość tworzenia nowych szablonów, a także współpraca z Microsoft Wordpad i innymi pakietami Office. Wady polegają na tym, że tabele są prawdziwym bałaganem do przetworzenia i że nie wszystkie konstrukty Microsoft Word są możliwe. Powtarzanie wierszy w tabeli jest jeszcze mniej zalecane. Dużą głośnością może być problem.
  2. Użyj pakietu raportowania, który ma również wyprowadzać dokumenty docx, doc lub RTF. Napisz raport. Ogólnie doskonale nadaje się do dużej objętości. Mniej pasuje, jeśli użytkownik końcowy ma wpisywać dużą ilość dodatkowego tekstu, ponieważ pakiety raportowania zwykle działają na podstawie stron zamiast tekstu ciągłego, w którym czasami wstawiane jest wyraźne lub niejawne zerwanie strony. Ale jeśli potrzebujesz tylko końcowego użytkownika, aby wprowadzić jedno lub dwa zdania dodatkowo, jest to wystarczające.
  3. Klient tłuszczu. Umieść gdzieś dane SQL. Otwórz słowo. Przeczytaj dane i zobacz dalsze techniki z INSIDE Microsoft Word.

Jeśli trzeba wypełnić dokument programu Word z SQL Server (lub innej platformy bazy danych lub danych), mogę zaproponować bezpłatną edycję Invantive Composition for filling Word documents from the database (proszę pamiętać, że byłem zaangażowany w tym produkcie). Otwiera szablony i łączy je z programu Word, ale jest bardziej ukierunkowany na osoby niebędące programistami; po prostu określ szablon i datablocks (ewentualnie zagnieżdżone) i opublikuj. Programiści mogą dodawać tylko wtyczki C# in. Myślę, że jest to dobry produkt, gdy masz WIELE szablonów (ponad 50), ponieważ skaluje się łatwiej.

-4

Można również spróbować użyć MS-Excel, ponieważ wiąże się z XML lepiej niż Word. Łatwo też sprawić, aby Excel tworzył efekt "Word".

+3

prawie nie odpowiada na pytanie. – jorrebor

Powiązane problemy