Biblioteca .NET pentru crearea documentelor de procesare a textului

Citiți, scrieți, manipulați și convertiți fișiere Word, creați tabele în DOCX prin API-ul Open Source .NET.

Open XML SDK este un API open source, dezvoltat de Microsoft și distribuit sub codul de conduită open source Microsoft pentru a manipula documente de procesare a textului, inclusiv DOCXDOTXDOCM,  formate de fișiere DOTM

Folosind API-ul, puteți adăuga text, antet, subsol, note de final, note de subsol, stiluri, teme și multe altele. Vă permite să generați documente Word de înaltă performanță și să extrageți date din acestea. API-ul acceptă diverse platforme .NET, inclusiv .NET 3.5, .NET 4.0, .NET 4.6 și .NET Standard 1.3.

Previous Next

Noțiuni introductive cu Open XML SDK

În primul rând, trebuie să aveți .NET Framework 3.5 sau o versiune superioară. După aceea, descărcați manual depozitul de pe GitHub sau instalați-l de pe NuGet.

Instalare  Deschideți SDK XML de la NuGet

 Install-Package DocumentFormat.OpenXml

Manipulați fișierul DOCX folosind C#

Open XML SDK permite programatorilor .NET să creeze și să modifice procesarea de text din propriile aplicații .NET. Pentru a modifica un fișier existent, puteți deschide un fișier existent și adăugați modificări precum text, paragrafe, tabele și multe altele.

Adăugați un paragraf în 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"));
}

Creați un tabel în DOCX folosind C#

API-ul permite dezvoltatorilor să adauge un tabel în documentele de procesare text. Puteți adăuga un tabel, setați proprietățile tabelului, setați grila tabelului și proprietățile grilei coloanelor. În plus, puteți gestiona celulele și rândurile de tabel folosind clase TableCell și, respectiv, TableRow.

Creați tabel în 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);
}

Anteturi și subsoluri în documentul de procesare text

Organizarea corectă a documentelor este foarte importantă și este nevoia fiecărei organizații. Anteturile și subsolurile sunt părțile cheie ale documentelor care pot ajuta la organizarea corectă a documentelor de procesare de text prin plasarea unor informații suplimentare, cum ar fi datele relevante, subiectele, numele autorului, imaginile, numerele paginilor și așa mai departe. De asemenea, acceptă adăugarea mai multor anteturi.

Gestionați anteturile în documentul Word

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

Gestionați subsolurile în documentul Word

 
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);
}
 Română