1. Produkte
  2.   Textverarbeitung
  3.   .NET
  4.   Open XML SDK
 
  

.NET-Bibliothek zum Erstellen von Textverarbeitungsdokumenten

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

Open XML SDK ist eine Open-Source-API, die von Microsoft entwickelt und unter dem Open-Source-Verhaltenskodex von Microsoft vertrieben wird, um Textverarbeitungsdokumente zu manipulieren, einschließlich DOCXDOTXDOCMDOTM-Dateiformate

Mit der API können Sie Text, Kopfzeilen, Fußzeilen, Endnoten, Fußnoten, Stile, Themen und mehr hinzufügen. Sie können damit leistungsstarke Word-Dokumente erstellen und Daten daraus extrahieren. Die API unterstützt verschiedene .NET-Plattformen, darunter .NET 3.5, .NET 4.0, .NET 4.6 und .NET Standard 1.3.

Previous Next

Erste Schritte mit Open XML SDK

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

Installation  Open XML SDK von NuGet

 Install-Package DocumentFormat.OpenXml

Bearbeiten Sie die DOCX-Datei mit C#

Open XML SDK ermöglicht .NET-Programmierern, Textverarbeitungen aus ihren eigenen .NET-Anwendungen heraus zu erstellen und zu modifizieren. Um eine vorhandene Datei zu ändern, können Sie eine vorhandene Datei öffnen und Änderungen wie Text, Absätze, Tabellen und mehr anhängen.

Absatz in DOCX hinzufügen - C#

// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
  Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
  // Add paragraph
  Paragraph para = body.AppendChild(new Paragraph());
  Run run = para.AppendChild(new Run());
  run.AppendChild(new Text("File Format Developer Guide"));
}

Erstellen Sie eine Tabelle in DOCX mit C#

Die API ermöglicht es den Entwicklern, eine Tabelle in Textverarbeitungsdokumenten hinzuzufügen. Sie können eine Tabelle hinzufügen, Tabelleneigenschaften festlegen, Tabellenraster- und Spaltenrastereigenschaften festlegen. Darüber hinaus können Sie Tabellenzellen und -zeilen mit den Klassen TableCell bzw. TableRow verwalten.

Tabelle in DOCX erstellen – C#

// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
  Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
  // Create a table.
  Table table = new Table();
  // Set the style and width for the table.
  TableProperties tableProperties = new TableProperties();
  TableStyle tableStyle = new TableStyle() { Val = "TableGrid" };
  // Make the table width 100% of the page width.
  TableWidth tableWidth = new TableWidth() { Width = "5000", Type = TableWidthUnitValues.Pct };
  // Apply
  tableProperties.Append(tableStyle, tableWidth);
  table.AppendChild(tableProperties);
  // Add columns
  TableGrid tableGrid = new TableGrid(new GridColumn(), new GridColumn(), new GridColumn());
  table.AppendChild(tableGrid);
  // Create 1 row to the table.
  TableRow tableRow = new TableRow();
  // Add a cell to each column in the row.
  TableCell tableCell = new TableCell(new Paragraph(new Run(new Text("Column 1"))));
  TableCell tableCell1 = new TableCell(new Paragraph(new Run(new Text("Column 2"))));
  //Append data
  tableRow.Append(tableCell, tableCell1);
  // Add row to the table.
  table.AppendChild(tableRow);
  // Add the table to the document
  body.AppendChild(table);
}

Kopf- und Fußzeilen in Textverarbeitungsdokumenten

Die richtige Organisation von Dokumenten ist sehr wichtig und wird von jeder Organisation benötigt. Kopf- und Fußzeilen sind die wichtigsten Teile von Dokumenten, die helfen können, die Textverarbeitungsdokumente richtig zu organisieren, indem einige zusätzliche Informationen wie relevante Daten, Themen, Name des Autors, Bilder, Seitenzahlen usw. platziert werden. Es unterstützt auch das Hinzufügen mehrerer Header.

Verwalten Sie Kopfzeilen in Word-Dokumenten

 
public static void ApplyHeader(WordprocessingDocument doc)
{
  // Get the main document part.
  MainDocumentPart mainDocPart = doc.MainDocumentPart;
  HeaderPart headerPart1 = mainDocPart.AddNewPart("r97");
  Header header1 = new Header();
  Paragraph paragraph1 = new Paragraph(){ };
  Run run1 = new Run();
  Text text1 = new Text();
  text1.Text = "Header stuff";
  run1.Append(text1);
  paragraph1.Append(run1);
  header1.Append(paragraph1);
  headerPart1.Header = header1;
  SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
  if (sectionProperties1 == null)
  {
  sectionProperties1 = new SectionProperties() { };
  mainDocPart.Document.Body.Append(sectionProperties1);
  }
  HeaderReference headerReference1 = new HeaderReference() { Type = HeaderFooterValues.Default, Id = "r97" };
  sectionProperties1.InsertAt(headerReference1,0);
}

Verwalten Sie Fußzeilen in Word-Dokumenten

 
public static void ApplyFooter(WordprocessingDocument doc)
{
  // Get the main document part.
  MainDocumentPart mainDocPart = doc.MainDocumentPart;
  FooterPart footerPart1 = mainDocPart.AddNewPart("r98");
  Footer footer1 = new Footer();
  Paragraph paragraph1 = new Paragraph() { };
  Run run1 = new Run();
  Text text1 = new Text();
  text1.Text = "Footer stuff";
  run1.Append(text1);
  paragraph1.Append(run1);
  footer1.Append(paragraph1);
  footerPart1.Footer = footer1;
  SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
  if (sectionProperties1 == null)
  {
    sectionProperties1 = new SectionProperties() { };
    mainDocPart.Document.Body.Append(sectionProperties1);
  }
  FooterReference footerReference1 = new FooterReference() { Type = DocumentFormat.OpenXml.Wordprocessing.HeaderFooterValues.Default, Id = "r98" };
  sectionProperties1.InsertAt(footerReference1, 0);
}
 Deutsch