Spajanje ćelija u Wordu pomoću C#

Ovaj kratki vodič opisuje kako spojiti ćelije u Word koristeći C#. Sadrži detalje za postavljanje IDE-a, popis koraka, unaprijed definiranu funkciju za kombiniranje ćelija i primjer koda koji pokazuje kako spojiti tablice u Wordu pomoću C# uz pomoć ove unaprijed definirane funkcije. Nema potrebe za bilo kojim drugim alatom treće strane za postizanje ovog zadatka.

Koraci za spajanje ćelija u Word tablici pomoću C#

  1. Postavite IDE da koristi Aspose.Words for .NET za kombiniranje ćelija u tablici
  2. Deklarirajte unaprijed definiranu metodu MergeCells za korištenje u vašoj aplikaciji
  3. Učitajte izvornu Word datoteku u objekt Document koji sadrži jednu ili više tablica
  4. Pristupite tablici u učitanoj Word datoteci za spajanje ćelija
  5. Pristup početnoj cell ciljanog raspona spajanja
  6. Pristup završnoj ćeliji raspona spajanja
  7. Pozovite metodu MergeCells() navođenjem početne i završne ćelije i spremite dokument

Ovi koraci pomažu kako spojiti ćelije u Wordu koristeći C#. Dodajte unaprijed definiranu metodu u svoj projekt i pozovite je tako da navedete početnu i završnu ćeliju koju želite spojiti. To će promijeniti izvornu datoteku, stoga možete spremiti učitanu Word datoteku pod drugim imenom sa spojenim ćelijama.

Kod za kombiniranje ćelija u Wordu koristeći C#

using System;
using System.Drawing;
using Aspose.Words;
using Aspose.Words.Tables;
class Program
{
static void MergeCells(Cell startCell, Cell endCell)
{
Table parentTable = startCell.ParentRow.ParentTable;
// Find the start and end cell
Point startingCell = new Point(startCell.ParentRow.IndexOf(startCell), parentTable.IndexOf(startCell.ParentRow));
Point endingCell = new Point(endCell.ParentRow.IndexOf(endCell), parentTable.IndexOf(endCell.ParentRow));
// Create a range of cells
Rectangle mergeRange = new Rectangle(Math.Min(startingCell.X, endingCell.X),Math.Min(startingCell.Y, endingCell.Y),
Math.Abs(endingCell.X - startingCell.X) + 1, Math.Abs(endingCell.Y - startingCell.Y) + 1);
foreach (Row currentRow in parentTable.Rows)
{
foreach (Cell currentCell in currentRow.Cells)
{
Point currentPos = new Point(currentRow.IndexOf(currentCell), parentTable.IndexOf(currentRow));
// Check if the current cell is inside the range
if (mergeRange.Contains(currentPos))
{
currentCell.CellFormat.HorizontalMerge = currentPos.X == mergeRange.X ? CellMerge.First : CellMerge.Previous;
currentCell.CellFormat.VerticalMerge = currentPos.Y == mergeRange.Y ? CellMerge.First : CellMerge.Previous;
}
}
}
}
static void Main(string[] args)
{
License lic = new License();
lic.SetLicense("license.lic");
Document doc = new Document("Table.docx");
Table table = doc.FirstSection.Body.Tables[0];
// Define starting and ending cells
Cell cellStartRange = table.Rows[0].Cells[0];
Cell cellEndRange = table.Rows[1].Cells[1];
// Merge all the cells
MergeCells(cellStartRange, cellEndRange);
doc.Save("Output.docx");
}
}

Ovaj kod pokazuje kako kombinirati tablice u Wordu koristeći C#. Dodali smo unaprijed definiranu metodu MergeCells zajedno s njezinom definicijom i zatim je pozivamo u našoj aplikaciji gdje god je potrebno. Možete odabrati odjeljak, popis tablica u tom odjeljku i pristupiti ciljnoj tablici koristeći njezin indeks za odabir početne i završne ćelije za spajanje. Možete ponoviti ovaj postupak za spajanje ćelija koliko god je potrebno.

Naučili smo kako spojiti ćelije u Microsoft Wordu koristeći C#. Ako želite spojiti kompletne Word dokumente, pogledajte članak na Kako spojiti Word dokumente koristeći C#.

 Hrvatski