Führen Sie horizontale Zusammenführungen oder vertikale Zusammenführungen einer oder mehrerer Tabellenzellen in DOCS/DOCX -Dateien durch. FileFormat.Words bietet Methoden zum Arbeiten mit Tabellen in Word -Dateien.

Wie man Tabellenzellen in Word -Dokumenten zusammenfasst

Übersicht

Die neuere Version von [FileFormat.Words] 2 bietet weitere Methoden, um mit Tabellen in [Word] 3 Dokumenten zu arbeiten. Die vorherige [Version] 4 enthält Methoden zum Erstellen, Bearbeiten und Lesen von Tabelleneigenschaften, während mit der neuesten Version die Benutzer programmgesteuert Tabellenzellen in DOCS/DOCX -Dateien verschmelzen können. Zusätzlich können Sie horizontaler Zusammenführen oder vertikaler Zusammenführen von Tabellenzellen mit dieser Open-Source-.NET [Bibliothek] 5 durchführen. Darüber hinaus ist es eine benutzerfreundliche Bibliothek, deren Methoden nicht komplex sind und keine Abhängigkeit von Drittanbietern benötigen. In diesem Blog -Beitrag lernen wir, wie man Tabellenzellen in Word -Dokumenten zusammenfasst. Beginnen wir also mit dem Installationsprozess und beginnen Sie mit dem Schreiben von Quellcode. Wir werden die folgenden Überschriften in diesem Artikel behandeln:

  • [Installation von Tabellengenerator API] 6
  • [So fusionieren Sie Tabellenzellen in Wortdokumenten] 7

Tabellengenerator -API -Installation

Bitte besuchen Sie diesen [Link] 8 für detaillierte Informationen zur Installation. Nur um neu zu capieren, ist der Installationsprozess dieser kostenlosen .NET-API relativ einfach. Nun, Sie können entweder das [Nuget -Paket] 9 herunterladen oder den folgenden Befehl im Nuget -Paket -Manager ausführen:

Install-Package FileFormat.Words

Wie man Tabellenzellen in Word -Dokumenten zusammenfasst

Wir werden ein Code -Snippet schreiben, um horizontale Zusammenführungen und vertikale Zusammenführungen von Tabellenzellen zu erreichen. Zu diesem Zweck verwenden wir die exponierten Klassen und Methoden. Bitte besuchen Sie diesen Leitfaden, um zu erfahren, wie Sie eine Tabelle in einem Word -Dokument mit FileFormat.words erstellen. Wir werden also weitere Klassen und Methoden in unserem Code -Snippet verwenden:

  • Erstellen Sie ein Objekt der [VerticalMerge] 10 Klasse.
  • [Mergerestart] 11 Die Eigenschaft wird verwendet, um festzustellen, dass das Element eine neue vertikal zusammengeführte Region in der Tabelle startet.
  • Rufen Sie die Methode [append] 12 auf, um das VerticalMerge -Objekt mit dem TblcellProps -Objekt anzuhängen.
  • Instanz einer Instanz der [Horizontalmerge] 13 -Klasse.
  • [Mergerestart] 14 Die Eigenschaft wird verwendet, um festzustellen, dass das Element einen neuen horizontal zusammengeführten Bereich in der Tabelle startet.
  • Rufen Sie die Methode [append] 15 auf, um das Horizontalmerge -Objekt mit dem TblcellProps -Objekt anzuhängen.
  • [MergeContinue] 16 Die Eigenschaft wird verwendet, um anzugeben, dass das Element einen horizontal zusammengeführten Bereich in der Tabelle beendet.
  • [MergeContinue] 17 Die Eigenschaft wird verwendet, um festzustellen, dass das Element einen vertikal zusammengeführten Bereich in der Tabelle beendet.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialize an instance of the Document class.
            using (Document doc = new Document())
            {
                // Instantiate the constructor of the Body class with the Document class object.
                Body body = new Body(doc);
                // Create an object of the Table class.
                Table table = new Table();
                // Initialize the constructor of the TopBorder class to set the border of the top side of the table.
                TopBorder topBorder = new TopBorder();
                // Invoke the basicBlackSquares_border method to set the border style and border line width.
                topBorder.basicBlackSquares_border(20);
                // To set the border of the bottom side of the table.
                BottomBorder bottomBorder = new BottomBorder();
                bottomBorder.basicBlackSquares_border(20);
                // To set the border of the right side of the table.
                RightBorder rightBorder = new RightBorder();
                rightBorder.basicBlackSquares_border(20);
                // To set the border of the left side of the table.
                LeftBorder leftBorder = new LeftBorder();
                leftBorder.basicBlackSquares_border(20);
                // To set the inside vertical border of the table.
                InsideVerticalBorder insideVerticalBorder = new InsideVerticalBorder();
                insideVerticalBorder.basicBlackSquares_border(20);
                // To set the inside vehorizontalrtical border of the table.
                InsideHorizontalBorder insideHorizontalBorder = new InsideHorizontalBorder();
                insideHorizontalBorder.basicBlackSquares_border(20);
                // Create an instance of the TableBorders class. 
                TableBorders tableBorders = new TableBorders();
                // Append the object of the TopBorder class to the object of the TableBorders class.
                tableBorders.AppendTopBorder(topBorder);
                // Append the object of the BottomBorder class.
                tableBorders.AppendBottomBorder(bottomBorder);
                // Append the object of the RightBorder class.
                tableBorders.AppendRightBorder(rightBorder);
                // Append the object of the LeftBorder class.
                tableBorders.AppendLeftBorder(leftBorder);
                // Append the object of the InsideVerticalBorder class.
                tableBorders.AppendInsideVerticalBorder(insideVerticalBorder);
                // Append the object of the InsideHorizontalBorder class.
                tableBorders.AppendInsideHorizontalBorder(insideHorizontalBorder);

                // Initialize an instance of the TableProperties class.
                TableProperties tblProp = new TableProperties();
                // Invoke the Append method to attach the object of the TableBorders class.
                tblProp.Append(tableBorders);
                // Create an instance of the TableJustification class 
                TableJustification tableJustification = new TableJustification();
                // Call the AlignLeft method to position the table on left side of the document.
                tableJustification.AlignLeft();
                // Invoke the Append method to attach the tableJustification object to the tblProp object.
                tblProp.Append(tableJustification);

                // The AppendChild method will attach the table properties to the table.
                table.AppendChild(tblProp);

                // Create an object of the TableRow class to create a table row.
                TableRow tableRow = new TableRow();
                TableRow tableRow2 = new TableRow();

                // Initialize an instance of the TableCell class.
                TableCell tableCell = new TableCell();
                Paragraph para = new Paragraph();
                Run run = new Run();

                // Set the header of the first column by invoking the TableHeaders method.
                table.TableHeaders("Name");
                run.Text = "Mustafa";
                para.AppendChild(run);
                // Call the Append method to add text inside the table cell.
                tableCell.Append(para);

                // Create an object of the TableCellProperties table properties 
                TableCellProperties tblCellProps = new TableCellProperties();

                // Set the width of table cell by initializing the object of the TableCellWidth class and append to tblCellProps object.
                tblCellProps.Append(new TableCellWidth("2400"));
                // Append method will attach the tblCellProps object with the object of the TableCell class.
                tableCell.Append(tblCellProps);

                TableCell tableCell2 = new TableCell();
                Paragraph para2 = new Paragraph();
                Run run2 = new Run();

                // set the header of the second column
                table.TableHeaders("Nationality");
                run2.Text = "Pakistani";
                para2.AppendChild(run2);
                tableCell2.Append(para2);

                TableCellProperties tblCellProps2 = new TableCellProperties();
                // Create an object of the VerticalMerge class. 
                VerticalMerge verticalMerge = new VerticalMerge();
                // MergeRestart property is used to specify that the element shall start a new vertically merged region in the table.
                verticalMerge.MergeRestart = true;
                // Invoke the Append method to attach the verticalMerge object with the tblCellProps object.
                tblCellProps.Append(verticalMerge);

                // Instantiate an instance of the HorizontalMerge class. 
                HorizontalMerge horizontalMerge = new HorizontalMerge();
                // MergeRestart property is used to specify that the element shall start a new horizontally merged region in the table.
                horizontalMerge.MergeRestart = true;
                // Call the Append method to attach the horizontalMerge object with the tblCellProps object.
                tblCellProps2.Append(horizontalMerge);

                tblCellProps2.Append(new TableCellWidth("1400"));
                tableCell2.Append(tblCellProps2);

                TableCell tableCell3 = new TableCell();
                Paragraph para3 = new Paragraph();
                Run run3 = new Run();
                table.TableHeaders("Age");
                run3.Text = "30";
                para3.AppendChild(run3);
                tableCell3.Append(para3);

                HorizontalMerge horizontalMerge1 = new HorizontalMerge();
                // MergeContinue property is used to specify that the element shall end a horizontally merged region in the table.
                horizontalMerge1.MergeContinue = true;
                TableCellProperties tblCellProps3 = new TableCellProperties();
                tblCellProps3.Append(new TableCellWidth("1400"));
                tblCellProps3.Append(horizontalMerge1);

                tableCell3.Append(tblCellProps3);
                // Call the Append method to add cells into table row.
                tableRow.Append(tableCell);
                tableRow.Append(tableCell2);
                tableRow.Append(tableCell3);

                // create table cell
                TableCell _tableCell = new TableCell();
                Paragraph _para = new Paragraph();
                Run _run = new Run();

                _run.Text = "sultan";
                _para.AppendChild(_run);
                _tableCell.Append(_para);

                TableCellProperties tblCellProps1_ = new TableCellProperties();
                VerticalMerge verticalMerge2 = new VerticalMerge();
                // MergeContinue property is used to specify that the element shall end a vertically merged region in the table.
                verticalMerge2.MergeContinue = true;
                tblCellProps1_.Append(verticalMerge2);
                tblCellProps1_.Append(new TableCellWidth("2400"));
                _tableCell.Append(tblCellProps1_);


                TableCell _tableCell2 = new TableCell();
                Paragraph _para2 = new Paragraph();
                Run _run2 = new Run();

                _run2.Text = "British";
                _para2.AppendChild(_run2);
                _tableCell2.Append(_para2);

                TableCellProperties tblCellProps2_ = new TableCellProperties();
                tblCellProps2_.Append(new TableCellWidth("1400"));
                _tableCell2.Append(tblCellProps2_);

                TableCell _tableCell3 = new TableCell();
                Paragraph _para3 = new Paragraph();
                Run _run3 = new Run();

                _run3.Text = "2";
                _para3.AppendChild(_run3);
                _tableCell3.Append(_para3);

                TableCellProperties tblCellProps3_ = new TableCellProperties();
                tblCellProps3_.Append(new TableCellWidth("1400"));
                _tableCell3.Append(tblCellProps3_);

                tableRow2.Append(_tableCell);
                tableRow2.Append(_tableCell2);
                tableRow2.Append(_tableCell3);
                // Call the Append method to add the rows into table.
                table.Append(tableRow);
                table.Append(tableRow2);
                // The AppendChild method will add the table to the body of the document.
                body.AppendChild(table);
                // The Save method will save the Word document onto the disk.
                doc.Save("/Users/Mustafa/Desktop/Docs.docx");
            }

        }

    }
}

Kopieren Sie das obige Codesegment in Ihre Hauptdatei und führen Sie ihn aus. Sie sehen die Word -Datei, die mit dem im Bild unten gezeigten Inhalt generiert wird:

Zellen verschmelzen

Fazit

Wir beenden diesen Blog -Beitrag hier mit der Hoffnung, dass Sie gelernt haben, wie man Tabellenzellen in Word Dokumenten programmatisch zusammenfasst. Darüber hinaus haben wir den Quellcode geschrieben, um horizontale Zusammenführungen und vertikale Zusammenführungen von Tabellenzellen zu implementieren. Daher können Sie sich für diese Open-Source .NET Table Generator API entscheiden, um die Automatisierung der Wortdatei zu automatisieren. Vergessen Sie am Ende nicht, die [Dokumentation] 19 zu besuchen, um mehr über weitere Klassen und Methoden zu erfahren. Schließlich schreibt [FileFormat.com] 20 konsequent Tutorial -Blog -Beiträge zu interessanten Themen. Bitte bleiben Sie in Kontakt, um regelmäßige Updates zu erhalten. Darüber hinaus können Sie uns auf unseren Social -Media -Plattformen folgen, einschließlich [Facebook] 21, [LinkedIn] 22 und [Twitter] 23.

beitragen

Da [FileFormat.words für .NET] 5 ein Open-Source-Projekt ist und auf [Github] 24 verfügbar ist. Der Beitrag der Gemeinschaft wird also sehr geschätzt.

stellen Sie eine Frage

Sie können uns über Ihre Fragen oder Abfragen in unserem [Forum] 25 informieren.

FAQs

Wie fusioniere ich Zellen in einem Word -Dokument? Sie können Tabellenzellen mit [VerticalMerge] 10 und [Horizontalmerge] 13 Klassen zusammenführen. Wie fusioniere ich Zellen in einer Tabelle in DOC? Bitte befolgen Sie diesen [Link] 7, um die Schritte und den Code -Snippet zu lernen, um diese Funktionalität zu erreichen.

Siehe auch

  • [So erstellen Sie ein Word -Dokument in C# mit FileFormat.words] 8
  • [So bearbeiten Sie ein Word -Dokument in C# mit FileFormat.words] 26
  • [So erstellen Sie eine Tabelle in Word -Dateien mit FileFormat.words] 27