Ich plane, ein Word-Dokument auf dem Webserver dynamisch zu generieren. Gibt es einen guten Weg, dies in C# zu tun? Ich weiß, dass ich Word schreiben könnte, um das zu tun, aber ich würde eine andere Option bevorzugen.Gibt es eine Möglichkeit, Word-Dokumente dynamisch ohne Word auf dem Rechner zu generieren
Antwort
Sie wäre besser dran, eine RTF-Datei zu generieren, welches Wort wissen, wie zu öffnen.
Es gibt Third Party Bibliotheken über das wird die Aufgabe erledigen.
Eine schnelle Google kam zum Beispiel mit this one.
Ich habe keine probiert, deshalb kann ich Ihnen keinen konkreten Rat geben, fürchte ich!
Lassen Sie uns wissen, wie Sie bekommen ...
Wenn Sie wollen, Office 2007-Dokumente, die Open XML-Dateiformate überprüfen, um zu erzeugen, sind sie einfach gezippte XML-Dateien, diese Links überprüfen:
- Open XML File Formats: What is it, and how can I get started?
- Introducing the Office (2007) Open XML File Formats
Edit: prüfen dieses Projekt können y dienen ou als ein guter Ausgangspunkt:
scheint sehr einfach und individuell anpassbare, schauen Sie diese Code-Schnipsel:
Paragraph p = new Paragraph();
p.Runs.Add(new Run("Text can have multiple format styles, they can be "));
p.Runs.Add(new Run("bold and italic",
TextFormats.Format.Bold | TextFormats.Format.Italic));
doc.Paragraphs.Add(p);
Ich empfehle diesen Ansatz, es ist ein bisschen kompliziert, aber es ist kostenlos und funktioniert gut. Ich benutze XML, um auch Excel-Dokumente zu erstellen. –
Ich kann mir nicht vorstellen, warum Sie das empfehlen würden. Wenn Sie nicht wissen, dass alle Clients Word2007 oder den Importeur installiert haben, ist es nutzlos. Das Format ist eine 5000 Seiten Spezifikation. –
Wort wird ganz glücklich ein HTML mit einer Erweiterung DOC öffnen . Wenn Sie ein internes Stylesheet einschließen, können Sie es vollständig formatieren lassen. Es gab frühere Post zu diesem Thema:
In Office 2007 Microsoft ein neues Dateiformat eingeführt genannt Microsoft Open Office XML Format (.docx). Dieses Format ist nicht mit älteren Versionen von Microsoft Word kompatibel. Da dies XML ist, können Sie erstellen oder lesen, ohne ein Word installiert zu haben.
Sie haben es nicht gesehen, denke ich? 5K Seiten für eine Spezifikation mit ein paar tausend Bugs –
Erstellen der alten .DOC-Dateien (vor Word 2007) ist nahezu unmöglich ohne Word selbst. Das Format ist einfach zu komplex. Microsoft hat die Formatbeschreibung veröffentlicht, aber es ist genug, um einen gewachsenen Programmierer zu Tränen zu reduzieren. Dafür gibt es auch einen Grund (historisch), aber das macht die Dinge nicht besser.
Die neue .DOCX wäre einfacher, obwohl noch eine Menge Ärger. Je nachdem, auf welche Word-Versionen Sie abzielen, gibt es jedoch auch andere Optionen.
Zum einen gibt es die klassische .RTF. Das Format ist immer noch ziemlich komplex, aber gut dokumentiert und hat eine starke Unterstützung für viele Anwendungen und Plattformen. Und Sie könnten einige Zeichenketten in Vorlagendateien ersetzen, um die Dinge einfacher zu machen (es ist nicht binär).
Dann gibt es die "alten" Word-XML-Dateien. Ich denke, sie haben mit Word XP angefangen. Ein bisschen die Vorgänger von .DOCX. Ich habe sie benutzt, nicht schlecht. Und die Dokumentation ist in Ordnung.
Schließlich ist der einfache Weg, den ich wählen würde, ein einfaches HTML zu machen. Word kann HTML-Dateien problemlos laden, beginnend mit Version 2000. Im einfachsten Fall ändern Sie einfach die Erweiterung einer HTML-Datei in .DOC und Sie haben es. Sie können auch einige wortspezifische Tags und Kommentare hinzufügen, damit es in Word noch besser aussieht. Verwenden Sie die Option "Speichern unter ..." von Word, um zu sehen, was sie sind.
docx wäre nicht einfacher. Das Übersetzen von Binär zu XML ist eine Operation, die die Komplexität bewahrt. –
Ich habe in der Vergangenheit in einem Unternehmen gearbeitet, das wirklich generierte Word-Dokumente haben wollte, am Ende waren sie mit RTF-Dokumenten, die die Erweiterung ".doc" hatten, vollkommen zufrieden. Wort hat kein Problem, sie zu erkennen und zu öffnen.
Die RTF-Dokumente wurden mit iText.net generiert (kostenlose .net-Bibliothek), die API ist ziemlich einfach zu bedienen, führt sehr gut, Sie brauchen kein Wort auf der Maschine, auch könnten Sie PDF, HTML zu generieren , und Textdokumente in der Zukunft mit sehr wenig Aufwand. Nach vier Jahren ist die Lösung, die ich geschaffen habe, immer noch vorhanden, also ist das ein kleines Zeugnis für iText.net.
Es sieht aus wie die offiziellen iText page schlägt vor, dass iText Sharp die beste .Net Wahl ist gerade jetzt, so das ist ein andere Option
ich finde, dass Dokumentation zu diesem Projekt nicht existiert. – benpage
Hier ist die Komponente, das Dokument auf der benutzerdefinierten Vorlage basiert erzeugt. Die Dokumente werden von der Sharepoint-Liste erzeugt ... so werden die Daten aus dem Listenelement in das Dokument im Fluge gezogen: http://store.sharemuch.com/products/generate-word-documents-from-sharepoint-list
Hoffnung, dass
Yaroslav Pentsarskyy Blog hilft: www.sharemuch. com
Yup, und Sie sind viel weniger abhängig von verschiedenen Word-Versionen. –
Ich habe das früher geupdated, als ich dachte, du hättest gesagt: "Du solltest besser eine RTF-Datei erzeugen, die die Welt zu öffnen versteht." – Karl