Обединете клетки в Word с помощта на C#

Този кратък урок описва как да слеете клетки в Word с помощта на C#. Има подробности за настройка на IDE, списък със стъпки, предварително дефинирана функция за комбиниране на клетките и примерен код, показващ как да обединявате таблици в Word с помощта на C# с помощта на тази предварително дефинирана функция. Няма нужда от друг инструмент на трета страна за изпълнение на тази задача.

Стъпки за обединяване на клетки в таблица на Word с помощта на C#

  1. Настройте IDE да използва Aspose.Words for .NET за комбиниране на клетки в таблица
  2. Декларирайте предварително дефиниран метод MergeCells за използване във вашето приложение
  3. Заредете изходния Word файл в обекта Document, съдържащ една или повече таблици в него
  4. Достъп до таблицата в заредения Word файл за обединяване на клетки
  5. Достъп до началната cell на целевия обхват на сливане
  6. Достъп до крайната клетка на диапазона за сливане
  7. Извикайте метода MergeCells(), като предоставите началната и крайната клетка и запишете документа

Тези стъпки помагат как да обедините клетки в Word с помощта на C#. Добавете предварително дефинирания метод във вашия проект и го извикайте, като предоставите началната и крайната клетка, която искате да обедините. Това ще промени изходния файл, следователно можете да запазите заредения файл на Word с различно име, като има обединените клетки.

Код за комбиниране на клетки в Word с помощта на 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");
}
}

Този код демонстрира как да комбинирате таблици в Word с помощта на C#. Добавихме предварително дефиниран метод MergeCells заедно с неговата дефиниция и след това го извикваме в нашето приложение, когато е необходимо. Можете да изберете раздела, списък с таблици в този раздел и да получите достъп до целевата таблица, като използвате нейния индекс, за да изберете началната и крайната клетка за обединяване. Можете да повторите този процес, за да обедините клетки, колкото е необходимо.

Научихме как да обединяваме клетки в Microsoft Word с помощта на C#. Ако искате да обедините цели документи на Word, вижте статията на Как да обедините документи на Word с помощта на C#.

 Български