Sloučit buňky ve Wordu pomocí C#

Tento krátký tutoriál popisuje, jak sloučit buňky v Word pomocí C#. Obsahuje podrobnosti pro nastavení IDE, seznam kroků, předdefinovanou funkci pro kombinování buněk a ukázkový kód ukazující jak sloučit tabulky ve Wordu pomocí C# s pomocí této předdefinované funkce. Pro splnění tohoto úkolu není potřeba žádný jiný nástroj třetí strany.

Kroky ke sloučení buněk v tabulce Word pomocí C#

  1. Nastavte IDE na použití Aspose.Words for .NET ke kombinování buněk v tabulce
  2. Deklarujte předdefinovanou metodu MergeCells pro použití ve vaší aplikaci
  3. Načtěte zdrojový soubor aplikace Word do objektu Document, který obsahuje jednu nebo více tabulek
  4. Přístup k tabulce v načteném souboru aplikace Word pro sloučení buněk
  5. Přístup k počátečnímu cell cílového rozsahu sloučení
  6. Přístup ke koncové buňce rozsahu sloučení
  7. Zavolejte metodu MergeCells() poskytnutím počáteční a koncové buňky a uložte dokument

Tyto kroky pomáhají v jak sloučit buňky v aplikaci Word pomocí C#. Přidejte předdefinovanou metodu do svého projektu a zavolejte ji zadáním počáteční a koncové buňky, kterou chcete sloučit. Změní zdrojový soubor, proto můžete uložit načtený soubor aplikace Word s jiným názvem se sloučenými buňkami.

Kód pro kombinování buněk ve Wordu pomocí 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");
}
}

Tento kód ukazuje jak kombinovat tabulky ve Wordu pomocí C#. Spolu s její definicí jsme přidali předdefinovanou metodu MergeCells a následně ji voláme v naší aplikaci, kdekoli je potřeba. Můžete vybrat sekci, seznam tabulek v této sekci a přistupovat k cílové tabulce pomocí jejího indexu a vybrat počáteční a koncové buňky pro sloučení. Tento proces můžete opakovat, abyste sloučili tolik buněk, kolik je potřeba.

Naučili jsme se jak sloučit buňky v aplikaci Microsoft Word pomocí C#. Pokud chcete sloučit kompletní dokumenty Wordu, přečtěte si článek na Jak sloučit dokumenty Word pomocí C#.

 Čeština