У цьому короткому посібнику описано, як об’єднати клітинки в Word за допомогою C#. Він містить деталі налаштування IDE, список кроків, попередньо визначену функцію для об’єднання комірок і зразок коду, який показує як об’єднати таблиці в Word за допомогою C# за допомогою цієї попередньо визначеної функції. Для виконання цього завдання не потрібні сторонні інструменти.
Кроки для об’єднання комірок у таблиці Word за допомогою C#
- Налаштуйте IDE на використання Aspose.Words for .NET для об’єднання комірок у таблиці
- Оголошіть попередньо визначений метод MergeCells для використання у своїй програмі
- Завантажте вихідний файл Word в об’єкт Document, що містить одну або кілька таблиць
- Доступ до таблиці у завантаженому файлі Word для об’єднання клітинок
- Доступ до початкового cell цільового діапазону злиття
- Доступ до кінцевої клітинки діапазону об’єднання
- Викличте метод 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#.