Разделить таблицу
В этом уроке мы научимся разбивать таблицу в документе Word с помощью Aspose.Words для .NET. Мы будем следовать пошаговому руководству, чтобы понять код и реализовать эту функцию. В конце этого урока вы сможете разделить таблицу из определенной строки в документах Word.
Шаг 1: Настройка проекта
- Запустите Visual Studio и создайте новый проект C#.
- Добавьте ссылку на библиотеку Aspose.Words для .NET.
Шаг 2: Загрузка документа
Чтобы начать обработку текста с документом, выполните следующие действия:
// Путь к каталогу ваших документов
string dataDir = "YOUR DOCUMENTS DIRECTORY";
// Загрузите документ
Document doc = new Document(dataDir + "Tables.docx");
Обязательно замените «КАТАЛОГ ВАШИХ ДОКУМЕНТОВ» фактическим путем к каталогу ваших документов и укажите правильное имя файла.
Шаг 3: Разделение таблицы
Далее мы разделим таблицу по определенной строке. Используйте следующий код:
// Получить первую таблицу
Table firstTable = (Table)doc.GetChild(NodeType.Table, 0, true);
// Определение линии, от которой нужно разделить таблицу
Row row = firstTable.Rows[2];
// Создайте новый контейнер для разделенной таблицы.
Table table = (Table)firstTable.Clone(false);
// Вставьте контейнер после исходной таблицы
firstTable.ParentNode.InsertAfter(table, firstTable);
// Добавьте абзац буфера, чтобы сохранить расстояние между таблицами.
firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable);
// Переместить строки из исходной таблицы в разделенную таблицу
Row currentRow;
do
{
currentRow = firstTable.LastRow;
table. PrependChild(currentRow);
} while (currentRow != row);
Здесь мы используем документ для получения первой таблицы из узла документа. Затем определяем строку, от которой хотим разделить таблицу, в данном примере это третья строка (индекс 2). Затем мы создаем новый контейнер, клонируя исходную таблицу, а затем вставляем его после исходной таблицы. Мы также добавляем абзац-буфер, чтобы сохранить расстояние между двумя таблицами. Затем мы перемещаем строки из исходной таблицы в разделенную таблицу, используя цикл do- while, пока не достигнем указанной строки.
Шаг 4. Сохранение измененного документа.
Наконец, нам нужно сохранить
документ изменен с помощью разделенной таблицы. Используйте следующий код:
doc.Save(dataDir + "WorkingWithTables.SplitTable.docx");
Обязательно укажите правильный путь и имя файла для выходного документа.
Пример исходного кода для разделения таблицы с использованием Aspose.Words для .NET
// Путь к каталогу ваших документов
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Tables.docx");
Table firstTable = (Table) doc.GetChild(NodeType.Table, 0, true);
// Мы разобьем таблицу по третьей строке (включительно).
Row row = firstTable.Rows[2];
// Создайте новый контейнер для разделенной таблицы.
Table table = (Table) firstTable.Clone(false);
// Вставьте контейнер после оригинала.
firstTable.ParentNode.InsertAfter(table, firstTable);
// Добавьте абзац-буфер, чтобы таблицы оставались отдельно.
firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable);
Row currentRow;
do
{
currentRow = firstTable.LastRow;
table.PrependChild(currentRow);
} while (currentRow != row);
doc.Save(dataDir + "WorkingWithTables.SplitTable.docx");
Заключение
В этом уроке мы узнали, как разделить таблицу в документе Word с помощью Aspose.Words для .NET. Следуя этому пошаговому руководству и реализовав предоставленный код C#, вы можете легко разделить таблицы по определенной строке в документах Word.