.NET библиотека за Създаване на документи за текстообработка

Четете, пишете, манипулирайте и конвертирайте Word файлове, Създавайте таблици в DOCX чрез .NET API с отворен код.

Open XML SDK е API с отворен код, разработен от Microsoft и разпространяван под кода на поведение с отворен код на Microsoft за манипулиране на текстови документи, включително DOCXDOTXDOCM,  файлови формати DOTM

С помощта на API можете да добавяте текст, горен колонтитул, долен колонтитул, бележки в края, бележки под линия, стилове, теми и други. Тя ви позволява да генерирате високоефективни текстови документи и да извличате данни от тях. API поддържа различни .NET платформи, включително .NET 3.5, .NET 4.0, .NET 4.6 и .NET Standard 1.3.

Previous Next

Първи стъпки с Open XML SDK

На първо място, трябва да имате .NET Framework 3.5 или по-нова версия. След това, моля, изтеглете хранилището ръчно от GitHub или го инсталирайте от NuGet.

Инсталиране Open XML SDK от NuGet

 Install-Package DocumentFormat.OpenXml

Манипулирайте DOCX файл с помощта на C#

Open XML SDK позволява на .NET програмистите да създават, както и да променят текстообработка от собствените си .NET приложения. За да модифицирате съществуващ файл, можете да отворите съществуващ файл и да добавите промени като текст, параграфи, таблици и други.

Добавяне на абзац в 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"));
}

Създайте таблица в DOCX с помощта на C#

API позволява на разработчиците да добавят таблица в текстообработващи документи. Можете да добавите таблица, да зададете свойства на таблицата, да зададете решетка на таблица и свойства на решетка на колони. Освен това можете да управлявате клетки и редове от таблици, като използвате съответно класове TableCell и TableRow.

Създаване на таблица в 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);
}

Горни и долни колонтитули в текстообработващ документ

Правилната организация на документите е много важна и е необходимост на всяка организация. Горните и долните колонтитули са ключовите части на документите, които могат да помогнат за правилното организиране на документите за текстообработка чрез поставяне на допълнителна информация като подходящи дати, теми, име на автора, снимки, номера на страници и т.н. Той също така поддържа добавянето на множество заглавки.

Управление на заглавки в 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);
}

Управление на долни колонтитули в документ на 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);
}
 Български