Как добавить строки в таблицу в документе MS Word с помощью C#

Как добавить строки в таблицу в документе MS Word с помощью C#

В этом учебном пособии вы узнаете, как программно добавлять строки в таблицу в документе MS Word с использованием C#. Вы добавите строки по указанному индексу и вставите несколько пустых строк в конец таблицы.

Преимущества добавления строк в таблицы в документах Word

  1. Динамическое управление контентом:
    • Легко изменять существующие таблицы для соответствия новым данным.
  2. Гибкость:
    • Корректировать структуру таблицы программно без ручных правок.
  3. Автоматизация:
    • Эффективно управлять данными таблицы с помощью автоматизированных скриптов.

Предварительные условия: Подготовка окружения

  1. Установите Visual Studio или любую .NET IDE.
  2. Убедитесь, что библиотека Aspose.Words доступна через NuGet.

Пошаговое руководство по добавлению строк в таблицу в Word

Шаг 1: Установите библиотеку Aspose.Words

Установите пакет Aspose.Words с помощью менеджера пакетов NuGet.

Install-Package Aspose.Words

Шаг 2: Импортируйте необходимые пространства имен

Включите пространства имен Aspose.Words и Aspose.Words.Tables в ваш проект.

using Aspose.Words;
using Aspose.Words.Tables;

Шаг 3: Откройте документ Word

Загрузите существующий документ MS Word.

Document MSWordDocument = new Document(@"MS Word.docx");

Шаг 4: Получите таблицу

Получите таблицу по индексу из документа.

Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

Шаг 5: Создайте или клонируйте строку

Создайте новую строку или клонируйте существующую из таблицы.

Row row = new Row(MSWordDocument);

Шаг 6: Добавьте ячейки в строку

Добавьте ячейки и текст в строку.

for (int i = 0; i < 3; i++) 
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "Текст в ячейке " + i));
    row.Cells.Add(cell);
}

Шаг 7: Добавьте строки в конец

Используйте RowCollection.Add для добавления строк в таблицу.

tableToAddRowsTo.Rows.Add(row);

Шаг 8: Вставьте строки по определенному индексу

Вставьте строки по определенному индексу с помощью RowCollection.Insert.

tableToAddRowsTo.Rows.Insert(1, row);

Шаг 9: Сохраните обновленный документ

Сохраните документ с добавленными строками.

MSWordDocument.Save(@"Добавленные строки в таблицу в MS Word.docx");

Пример кода для добавления строк в таблицу в Word

Ниже приведен полный код для добавления строк в таблицу:

// Открыть документ MS Word
Document MSWordDocument = new Document(@"input.docx");

// Получить таблицу по индексу
Table tableToAddRowsTo = MSWordDocument.FirstSection.Body.Tables[0];

// Создать новый объект класса Row
Row row = new Row(MSWordDocument);

// Добавить три ячейки в коллекцию ячеек строки
for (int i = 0; i < 3; i++)
{
    Cell cell = new Cell(MSWordDocument);
    cell.AppendChild(new Paragraph(MSWordDocument));
    cell.FirstParagraph.Runs.Add(new Run(MSWordDocument, "Текст в ячейке " + i));
    row.Cells.Add(cell);
}

// Вставить новую строку после первой строки
tableToAddRowsTo.Rows.Insert(1, row);

// Клонировать существующую строку из таблицы
Row cloneOfRow = (Row)tableToAddRowsTo.FirstRow.Clone(true);

// Удалить все содержимое из всех ячеек
foreach (Cell cell in cloneOfRow)
{
    cell.RemoveAllChildren();
    cell.EnsureMinimum();
}

// Добавить несколько пустых строк в конец таблицы
for (int i = 0; i < 10; i++)
{
    Row emptyRow = (Row)cloneOfRow.Clone(true);
    tableToAddRowsTo.Rows.Add(emptyRow);
}

// Сохранить обновленный документ
MSWordDocument.Save(@"output.docx");

Заключение

В этом учебном пособии показано, как добавлять строки в таблицу в документе MS Word с использованием C#. Следуя этим шагам, вы можете эффективно управлять и модифицировать таблицы в документах Word программно.

 Русский