.NET biblioteka, skirta teksto apdorojimo dokumentams kurti

Skaitykite, rašykite, manipuliuokite ir konvertuokite „Word“ failus, kurkite lenteles DOCX naudodami atvirojo kodo .NET API.

Open XML SDK yra atvirojo kodo API, sukurta Microsoft ir platinama pagal Microsoft atvirojo kodo elgesio kodeksą, skirtą manipuliuoti teksto apdorojimo dokumentais, įskaitant DOCXDOTXDOCMDOTM failų formatai

Naudodami API galite pridėti teksto, antraštės, poraštės, pabaigos pastabų, išnašų, stilių, temų ir kt. Tai leidžia generuoti didelio našumo Word dokumentus ir iš jų išgauti duomenis. API palaiko įvairias .NET platformas, įskaitant .NET 3.5, .NET 4.0, .NET 4.6 ir .NET Standard 1.3.

Previous Next

Darbo su Open XML SDK pradžia

Pirmiausia turite turėti .NET Framework 3.5 arba naujesnę versiją. Po to neautomatiniu būdu atsisiųskite saugyklą iš GitHub arba įdiekite ją iš NuGet.

Diegimas  Atidarykite XML SDK iš „NuGet“.

 Install-Package DocumentFormat.OpenXml

Manipuliuokite DOCX failą naudodami C#

Atviras XML SDK leidžia .NET programuotojams kurti ir modifikuoti teksto apdorojimą naudojant savo .NET programas. Norėdami pakeisti esamą failą, galite atidaryti esamą failą ir pridėti pakeitimus, pvz., tekstą, pastraipas, lenteles ir kt.

Pridėti pastraipą į 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"));
}

Sukurkite lentelę DOCX naudodami C#

API leidžia kūrėjams pridėti lentelę teksto apdorojimo dokumentuose. Galite įtraukti lentelę, nustatyti lentelės ypatybes, nustatyti lentelės tinklelį ir stulpelių tinklelio ypatybes. Be to, galite valdyti lentelės langelius ir eilutes naudodami atitinkamai TableCell ir TableRow klases.

Sukurkite lentelę 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);
}

Teksto apdorojimo dokumentų antraštės ir poraštės

Tinkamas dokumentų sutvarkymas yra labai svarbus ir kiekvienos organizacijos poreikis. Antraštės ir poraštės yra pagrindinės dokumentų dalys, kurios gali padėti tinkamai sutvarkyti teksto apdorojimo dokumentus, pateikiant tam tikrą papildomą informaciją, pvz., atitinkamas datas, temas, autoriaus vardą, paveikslėlius, puslapių numerius ir pan. Tai taip pat palaiko kelių antraščių pridėjimą.

Tvarkykite antraštes Word dokumente

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

Tvarkykite poraštes Word dokumente

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