Βιβλιοθήκη .NET για Δημιουργία εγγράφων επεξεργασίας κειμένου

Ανάγνωση, εγγραφή, χειρισμός και μετατροπή αρχείων Word, Δημιουργία πινάκων στο DOCX μέσω API .NET ανοιχτού κώδικα.

Το Open XML SDK είναι ένα API ανοιχτού κώδικα, που αναπτύχθηκε από τη Microsoft και διανέμεται σύμφωνα με τον κώδικα δεοντολογίας ανοιχτού κώδικα της Microsoft για τη διαχείριση εγγράφων επεξεργασίας κειμένου, συμπεριλαμβανομένων των DOCXDOTXDOCMDOTM μορφές αρχείων

Χρησιμοποιώντας το API, μπορείτε να προσθέσετε κείμενο, κεφαλίδα, υποσέλιδο, σημειώσεις τέλους, υποσημειώσεις, στυλ, θέματα και άλλα. Σας επιτρέπει να δημιουργείτε έγγραφα word υψηλής απόδοσης και να εξάγετε δεδομένα από αυτά. Το 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.

Εγκατάσταση  Ανοίξτε το 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);
}
 Ελληνικά