IRONWORD VERWENDEN

Erstellen von Word-Dokumenten ohne Office-Interop in C#

Veröffentlicht 12. März 2024
Teilen Sie:

Microsoft Word-Dokumente werden häufig für verschiedene Zwecke verwendet, von formellen Geschäftsberichten bis hin zu persönlichen Briefen. In C# müssen Entwickler häufig Microsoft Word-Dokumente programmatisch erzeugen. Windows-Anwendungsentwickler haben traditionell die Microsoft Office Interop verwendet, um Word-Dokumente mit C# zu generieren und zu erstellen.

Dieser Ansatz ist jedoch nicht für jeden zugänglich, und es gibt Entwickler, die ein Betriebssystem oder einen Linux-Rechner verwenden, auf dem die Microsoft Office-Schnittstelle nicht verfügbar ist. In diesen Fällen müssen die Entwickler andere Bibliotheken erkunden, die unabhängig voneinander auf verschiedenen Plattformen arbeiten können. Eine solche leistungsfähige Bibliothek für die programmatische Arbeit mit Word-Dateien istIronWord, vonIron Software.

IronWord bietet robuste Funktionen für die Arbeit mit Word-Dokumenten in .NET-Anwendungen und kann auf verschiedenen Plattformen und Docker-Images/Containern auf Linux-Basis ausgeführt werden. Mit IronWord, das über eine intuitive C#-, VB.NET-Word- und Docx-Dokumenten-API verfügt, ist es nicht erforderlich, Microsoft Office, Office-Automatisierung oder Word Interop zu installieren, um Word-Dokumente zu erstellen, zu bearbeiten und zu exportieren. IronWord unterstützt vollständig .NET 8, 7, 6, Framework, Core und Azure.

Dieser Artikel befasst sich mit der Erstellung von Word-Dokumenten in C# unter Verwendung der IronWord-Bibliothek.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt;

  1. Erstellen Sie ein neues C#-Projekt.

  2. Installieren Sie dieIronWord bibliothek.

  3. Erstellen Sie ein Word-Dokument unter Verwendung der IronWord-Bibliothek.

  4. Fügen Sie dem nun vorhandenen Dokument Inhalt hinzu.

  5. Speichern Sie das erstellte Word-Dokument.

  6. Öffnen Sie das erstellte Word-Dokument und zeigen Sie es an.

    Voraussetzungen:

  7. Visual Studio: Stellen Sie sicher, dass Sie Visual Studio oder eine andere C#-Entwicklungsumgebung installiert haben.

  8. NuGet Package Manager: Stellen Sie sicher, dass Sie NuGet verwenden können, um Pakete in Ihrem Projekt zu verwalten

Schritt 1: Erstellen eines neuen C# Projekts

Erstellen Sie eine neue C#-Konsolenanwendung oder verwenden Sie ein vorhandenes Projekt, in dem Sie das Word-Dokument generieren möchten.

Wählen Sie die Konsolenanwendungsvorlage aus und klicken Sie auf Weiter.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 1 - Konsolenanwendungsvorlage zum Erstellen eines neuen Projekts

Im nächsten Schritt können Sie den Namen der Lösung und des Projekts angeben.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 2 - Projekt mit Lösung und Projektname konfigurieren

Wählen Sie die .NET Version und klicken Sie auf "Erstellen".

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 3 - Projekt mit korrekter .NET-Version erstellen

Schritt 2: Installieren Sie die IronWord-Bibliothek

Öffnen Sie Ihr C#-Projekt und installieren Sie dieIronWord bibliothek über die NuGet-Paketmanager-Konsole:

Install-Package IronWord -Version 2024.1.2

Das NuGet-Paket kann auch mit dem Visual Studio Package Manager installiert werden, wie unten gezeigt.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 4 - Installieren von IronWord mit dem VS-Paketmanager

Schritt 3: Erstellen und Speichern eines Word-Dokuments unter Verwendung der IronWord Bibliothek

Beginnen wir mit dem einfachen Beispiel der Erstellung eines Word-Dokuments unter Verwendung der IronWord-Bibliothek. Der folgende Code veranschaulicht, wie man ein Word-Dokument mit einem einzigen Absatz erstellt, der den Text "Hello, World" enthält!"

using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
Imports IronWord
Imports IronWord.Models
' Create textrun instance
Private textRun As New TextRun("Hello, World!")
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document object
Dim doc As New WordDocument(paragraph)
' Export docx
doc.SaveAs("example.docx") ' save docx file to disk
VB   C#

Nach der Ausführung des obigen Codebeispiels wird die neue Dokumentendatei example.docx erstellt, und die Ausgabe ist wie unten dargestellt.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 5 - Mit dem obigen Code erstelltes Word-Dokument.

Dies ist ein grundlegendes Beispiel für die Erstellung einer Word-Dokumentendatei mit IronWord. Weitere Informationen können Sie den folgenden Dokumenten entnehmen*hier.

Hinzufügen von Absätzen mit Formatvorlagen zu einem Word-Dokument.

Nachdem wir nun wissen, wie man mit IronWord ein einfaches Word-Dokument erstellt, wollen wir nun Absätze und formatierten Text hinzufügen.

TextRun kann auch Stildaten übernehmen, um die visuelle Darstellung des Textes zu verbessern. Text kann mit Stilen wie Durchgestrichen, Fett, Kursiv und Unterstrichen versehen werden.

Ändern Sie das Programm, das Sie zuvor erstellt haben, und fügen Sie den folgenden Code hinzu.

using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle); 
// add italic string
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle); 
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
    IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle); 
// add italic string
TextStyle boldStyle = new TextStyle()
{
    IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle); 
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create textrun
Private textRun As New TextRun("Hello, World!") ' add string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Configure text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.") ' add string or text
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)
' add italic string
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)
' add bold string
' Add text
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)
' Create a new Word document
Dim doc As New WordDocument(paragraph)
' Export docx document
doc.SaveAs("example.docx") ' docx file save in EXE location
VB   C#

Hinzufügen einer Tabelle zu einem Word-Dokument

Zur übersichtlichen Darstellung der Daten können diese auch in einem Raster dargestellt werden. Wenn Daten in einem Gitter angeordnet sind, spricht man von einer Tabelle. Mit IronWord können wir Tabellen und Bilder in das Word-Dokument einfügen (siehe unten):

using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style 
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() { 
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style 
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() { 
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Sample text"
' Add textrun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style 
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black)
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick
borderStyle.BorderSize = 5
' Configure table border
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create row and add cell
Dim row As New TableRow()
row.AddCell(cell) ' add cell
row.AddCell(cell) ' add cell
' Create table and add row
Dim table As New Table()
table.AddRow(row)
' Generate document from the table
Dim doc As New WordDocument(table)
' Export Word document
doc.SaveAs("Document.docx") ' docx file save in EXE location
VB   C#

Im obigen Beispiel haben wir einem Word-Dokument eine Tabelle mit Rahmen hinzugefügt.

Hinzufügen von Bildern zu einem Word-Dokument

Bilder verbessern die Präsentation des Dokuments und können mehr Farben und visuellen Reiz hinzufügen.

Bilder können mit IronWord programmatisch in ein Word-Dokument eingefügt werden, wie der folgende Code zeigt:

using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph 
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph 
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
Imports IronWord
Imports IronWord.Models
' Load new document
Private doc As New WordDocument()
' Configure image
Private image As New IronWord.Models.Image("SalesChart.jpg")
image.Width = 200 ' In unit pixel (px)
image.Height = 200 ' In unit pixel (px)
Dim paragraph As New Paragraph()
' Add image
paragraph.AddImage(image)
' Add paragraph 
doc.AddParagraph(paragraph)
' Export docx
doc.SaveAs("save_document.docx") ' docx file
VB   C#

Hier fügen wir ein Bild mit IronWord.Models.Image mit einer Höhe und Breite von 200 Pixeln zu einem Absatz hinzu.

Lizenzierung (kostenlose Testversion verfügbar)

IronWord erfordert eine Lizenz zur Nutzung. Ein Testschlüssel kann von der Iron Software-Website bezogen werdenhier. Dieser Schlüssel muss in appsettings.json platziert werden.

{
    "IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
{
    "IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
If True Then
	"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
End If
VB   C#

Geben Sie Ihre E-Mail-Adresse an, um eine Testlizenz zu erhalten. Nachdem Sie Ihre E-Mail-ID angegeben haben, wird der Schlüssel per E-Mail zugestellt.

Wie man Word-Dokumente ohne Office-Interop in C# erstellt: Abbildung 6 - Popup nach erfolgreichem Abschicken des Testformulars

Schlussfolgerung

Erstellen von Word-Dokumenten in C# unter Verwendung desIronWord bibliothek bietet eine flexible und effiziente Möglichkeit, Dokumente zu erstellen, ohne auf Microsoft Office angewiesen zu sein. Egal, ob Sie einfache Briefe oder komplexe Berichte mit Tabellen und Bildern erstellen müssen, IronWord ermöglicht es Ihnen, dies programmgesteuert zu tun. Dieser Artikel enthält eine umfassende Anleitung zum Erstellen von Word-Dokumenten. Mit IronWord können Sie die Erstellung von Word-Dokumenten automatisieren und so Ihre C#-Anwendungen vielseitiger und produktiver gestalten.

Und für Entwickler, die nach einer Möglichkeit suchen, PDF-Dateien in Verbindung mit ihren generierten Word-Dokumenten zu bearbeiten, gibt es mit IronPDF eine weitere C#-Bibliothek von Iron Software. Zum Überprüfen klicken Sie auf*hier.

< PREVIOUS
Programmgesteuerte Erstellung von Word-Dokumenten in VB .NET
NÄCHSTES >
Wie man ein Word-Dokument mit Formatierung in C# liest

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 8,482 Lizenzen anzeigen >