Kostenlose .NET-Bibliothek zum Erstellen von Textverarbeitungsdokumenten

Lesen, Schreiben, Bearbeiten und Konvertieren von Word-Dateien über Open Source .NET API.

NetOffice ist eine Open-Source-API, mit der .NET-Entwickler Microsoft Office automatisieren und Microsoft Office-Add-Ins entwickeln können. Mit der API kann der Entwickler alle in den MS Office-Versionen 2000, 2002, 2003, 2007, 2010, 2013 und 2016 enthaltenen Funktionen nutzen. Die API basiert auf der COM-Architektur, bei der Sie COM-Proxy-Objekte in Ihrer Anwendung und Ihnen abrufen müssen jedes COM-Proxy-Objekt freigeben. Der Hauptvorteil der Verwendung von NetOffice ist die Möglichkeit, gleichzeitig mit einer anderen Version von Microsoft Office zu arbeiten, und es bietet einen Schutzmechanismus für die Verwaltung von COM-Proxys.

Mit der API können Sie eine Anwendung sowohl für 32-Bit- als auch für 64-Bit-Betriebssysteme entwickeln. Die NetOffice Assemblies können Sie bedenkenlos in allen Szenarien einsetzen. Die API bietet eine Reihe von Bibliotheken zum Bearbeiten von Office-Dokumenten. Um mit Microsoft Word-Dokumenten arbeiten zu können, müssen Sie WordApi.dll mit OfficeApi.ddl, VBIDEApi.dll und NetOffice.dll als Abhängigkeiten erstellen.

Previous Next

Erste Schritte mit NetOffice

Zunächst benötigen Sie .NET Framework 4.5 oder höher. Laden Sie danach das Repository manuell von GitHub herunter oder installieren Sie es von NuGet.

Installation  NetOffice von NuGet

 Install-Package NetOfficeFw.Word

Erstellen Sie ein Word-Dokument mit der kostenlosen C#-API

NetOffice ermöglicht .NET-Programmierern, Microsoft Word-Dateien programmgesteuert zu erstellen. Um eine Word-Datei zu erstellen, müssen Sie zunächst eine Word-Anwendung initialisieren und Meldungsfelder deaktivieren. Nachdem Ihre Word-Anwendung gestartet wurde, können Sie ihr mit der Methode WordApplication.Documents.Add() ein neues Dokument hinzufügen. Sie können mit der Methode WrodApplication.Selection.TypeText() Text in Ihre neu erstellte Word-Datei einfügen und mit der Methode WordApplicaiton.Selection.Font() die Schriftart festlegen. Wenn Sie mit Ihrem Dokument fertig sind, können Sie es mit der Methode Document.SaveAs() speichern.

Erstellen Sie ein Word-Dokument über die NetOffice-Bibliothek

 
  // start word and turn off msg boxes
  Word.Application wordApplication = new Word.Application();
  wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
  // create a utils instance, no need for but helpful to keep the lines of code low
  CommonUtils utils = new CommonUtils(wordApplication);
  // add a new document
  Word.Document newDocument = wordApplication.Documents.Add();
  // insert some text
  wordApplication.Selection.TypeText("This text is written by automation");
  wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend);
  wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen;
  wordApplication.Selection.Font.Bold = 1;
  wordApplication.Selection.Font.Size = 18;
  // save the document
  string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal);
  newDocument.SaveAs(documentFile);
  // close word and dispose reference
  wordApplication.Quit();
  wordApplication.Dispose();
  // show end dialog
  HostApplication.ShowFinishDialog(null, documentFile);

Erstellen Sie eine Tabelle in Word mit C#

NetOffice ermöglicht .NET-Programmierern das programmatische Hinzufügen von Tabellen in Microsoft Word-Dateien. Um zuerst Tabellen in einer Word-Datei hinzuzufügen, müssen Sie eine Word-Anwendung initialisieren und Meldungsfelder deaktivieren und neue Dokumente mit der Methode WordApplication.Documents.Add() hinzufügen. Sie können eine Tabelle in Ihre neu erstellte Word-Datei einfügen, indem Sie Word.Table initialisieren und den Tabellenbereich mit der Methode Tables.Add(wordApplication.Selection.Range, 3, 2) festlegen. Sie können Text in Ihre Zellen einfügen, indem Sie eine bestimmte Zelle mit table.Cell(1, 1).Select() auswählen und Text darin einfügen. Wenn Sie mit Ihrem Dokument fertig sind, können Sie es mit der Methode Document.SaveAs() speichern.

Erstellen Sie eine Tabelle in einer Word-Datei über .NET


  Word.Application wordApplication = new Word.Application();
  wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
  // create a utils instance, not need for but helpful to keep the lines of code low
  CommonUtils utils = new CommonUtils(wordApplication);
  // add a new document
  Word.Document newDocument = wordApplication.Documents.Add();
  // add a table
  Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2);
  // insert some text into the cells
  table.Cell(1, 1).Select();
  wordApplication.Selection.TypeText("This");
  table.Cell(1, 2).Select();
  wordApplication.Selection.TypeText("table");
  table.Cell(2, 1).Select();
  wordApplication.Selection.TypeText("was");
  table.Cell(2, 2).Select();
  wordApplication.Selection.TypeText("created");
  table.Cell(3, 1).Select();
  wordApplication.Selection.TypeText("by");
  table.Cell(3, 2).Select();
  wordApplication.Selection.TypeText("NetOffice");
  // save the document
  string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
  newDocument.SaveAs(documentFile);
  // close word and dispose reference
  wordApplication.Quit();
  wordApplication.Dispose();
  // show end dialog
  HostApplication.ShowFinishDialog(null, documentFile);
 Deutsch