2012-04-02 15 views

Antwort

5

Ich habe es in der Vergangenheit auf verschiedene Arten gemacht. Es hängt davon ab, ob der Benutzer die Aktion von OUTSIDE von Microsoft Word oder von INSIDE Microsoft Word initiiert.

Von INSIDE Microsoft Word können Sie eine der folgenden Techniken verwenden:

  1. Öffnen Sie eine Vorlage mit Platzhalter verwenden, VBA oder VSTO über ihnen zu wechseln, eine Datenquelle mit Kopie mit & Paste. Bitte beachten Sie, dass auch hier Tabellen ein Verbrechen sind. Dieser Ansatz ähnelt dem folgenden Ansatz 1 mit "AUSSEN". Nachteil, dass es relativ langsam ist (kopiere & einfügen) und dass Microsoft Word-Autokorrektur gerne bei tritt am wenigsten benötigt.
  2. Öffnen Sie eine Vorlage mit Platzhaltern und verwenden Sie VBA oder VSTO, um die XML-Darstellung zu analysieren und diese dann zu ersetzen. Es ist schneller, aber schwerer zu schreiben. Zumal die XML-Darstellung XML-Fragmente innerhalb der Platzhalter enthalten kann (zB '&amp;lt;&amp;lt;PUT_<xxx/>IT_HERE&amp;gt;&amp;gt;' und komplexere Fälle). Außerdem müssen Sie sicherstellen, dass Sie ein gültiges XML-Dokument behalten und gut ausbalanciert sind.

Von OUTSIDE Microsoft Word (wie Web-Interface) können Sie eine der folgenden Techniken verwenden:

  1. Shop eine Vorlage irgendwo RTF mit (was viel einfacher ist als Word-eigene Struktur zu verarbeiten). Setzen Sie '&lt;&lt;PLACEHOLDER-FOR-NAME&gt;&gt;' oder ähnliche leicht erkennbare Texte, wo Sie sie ersetzen möchten. Wenn Benutzer das Word-Dokument anfordert, holen Sie die RTF, holen Sie die Daten, ersetzen Sie die Platzhalter, Server-RTF für Benutzer. RTF hat einige Einschränkungen, aber einige Vorteile. Die Vorteile sind: Einfache Erstellung neuer Vorlagen und funktioniert auch mit Microsoft Wordpad und anderen Office-Paketen. Nachteile sind, dass Tabellen eine echte Unordnung zu verarbeiten sind und dass nicht alle Microsoft Word Konstrukte möglich sind. Das Wiederholen von Zeilen in einer Tabelle wird noch weniger empfohlen. Hohe Lautstärke kann ein Problem sein.
  2. Verwenden Sie ein Berichtspaket, das auch docx-, doc- oder RTF-Dokumente ausgibt. Schreibe einen Bericht. In der Regel perfekt für hohe Lautstärke geeignet. Weniger geeignet, wenn der Endbenutzer eine größere Menge zusätzlichen Texts eingeben soll, da Berichtspakete in der Regel auf Seiten basieren und nicht auf einem Fließtext, wo manchmal ein expliziter oder impliziter Seitenumbruch eingefügt wird. Aber wenn Sie nur den Endbenutzer benötigen, um einen oder zwei Sätze zusätzlich einzugeben, ist es ausreichend.
  3. Fett-Client. Legen Sie die SQL-Daten irgendwo hin. Öffne das Wort. Lesen Sie die Daten und sehen Sie weitere Techniken für INSIDE Microsoft Word.

Wenn Sie ein Word-Dokument von SQL Server (oder einer anderen Datenbank oder Datenplattform) füllen müssen, kann ich die kostenlose Ausgabe von Invantive Composition for filling Word documents from the database vorschlagen (bitte beachten Sie, dass ich mit diesem Produkt beteiligt habe). Es öffnet Vorlagen und führt sie in Word zusammen, richtet sich jedoch eher an Nicht-Entwickler; Geben Sie einfach die Vorlage und die Datenblöcke (möglicherweise verschachtelt) an und veröffentlichen Sie sie. Entwickler können nur einige C# in Plugins hinzufügen. Ich denke, es ist ein gutes Produkt, wenn Sie viele Vorlagen (über 50) haben, weil es einfacher skaliert.

-4

Sie können auch versuchen, MS-Excel zu verwenden, da es besser an XML bindet als Word. Es ist auch einfach, Excel Word-formatierte Ausgabe produzieren zu lassen.

+3

dies nicht annähernd beantwortet die Frage sehr nützlich sein. – jorrebor

Verwandte Themen