1. Produkter
  2.   Tekstbehandling
  3.   .NET
  4.   Open XML SDK
 
  

.NET-bibliotek til oprettelse af tekstbehandlingsdokumenter

Læs, skriv, manipuler og konverter Word-filer, Opret tabeller i DOCX via Open Source .NET API.

Open XML SDK er en open source API, udviklet af Microsoft og distribueret under Microsofts open source adfærdskodeks til at manipulere tekstbehandlingsdokumenter, herunder DOCXDOTXDOCMDOTM filformater

Ved hjælp af API'en kan du tilføje tekst, sidehoved, sidefod, slutnoter, fodnoter, stilarter, temaer og mere. Det giver dig mulighed for at generere højtydende word-dokumenter og udtrække data fra dem. API'et understøtter forskellige .NET-platforme, herunder .NET 3.5, .NET 4.0, .NET 4.6 og .NET Standard 1.3.

Previous Next

Kom godt i gang med Open XML SDK

Først og fremmest skal du have .NET Framework 3.5 eller nyere. Derefter skal du downloade lageret manuelt fra GitHub eller installere det fra NuGet.

Installation  Open XML SDK fra NuGet

 Install-Package DocumentFormat.OpenXml

Manipuler DOCX-fil ved hjælp af C#

Open XML SDK giver .NET-programmører mulighed for at oprette og ændre tekstbehandling fra deres egne .NET-applikationer. For at ændre en eksisterende fil kan du åbne en eksisterende fil og tilføje ændringer som tekst, afsnit, tabeller og mere.

Tilføj afsnit i DOCX - 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"));
}

Opret en tabel i DOCX ved hjælp af C#

API'et giver udviklerne mulighed for at tilføje en tabel i tekstbehandlingsdokumenter. Du kan tilføje en tabel, angive tabelegenskaber, angive tabelgitter og egenskaber for kolonnegitter. Desuden kan du administrere tabelceller og rækker ved hjælp af henholdsvis TableCell- og TableRow-klasserne.

Opret tabel i DOCX - 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);
}

Sidehoveder og sidefødder i tekstbehandlingsdokument

Korrekt organisering af dokumenter er meget vigtigt og er behovet for enhver organisation. Sidehoveder og sidefødder er de vigtigste dele af dokumenter, der kan hjælpe med at organisere tekstbehandlingsdokumenterne korrekt ved at placere nogle yderligere oplysninger såsom relevante datoer, emner, forfatterens navn, billeder, sidetal og så videre. Det understøtter også tilføjelse af flere overskrifter.

Administrer overskrifter i Word-dokument

 
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);
}

Administrer sidefødder i Word-dokument

 
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);
}
 Dansk