Створіть таблицю

Aspose.Words дозволяє користувачам створювати таблиці в документі з нуля і надає кілька різних методів для цього. У цій статті наведено детальну інформацію про те, як додати відформатовані таблиці до документа за допомогою кожного з методів, а також порівняння кожного методу в кінці статті.

Стилі таблиць за замовчуванням

Новоствореній таблиці присвоюються значення за замовчуванням, подібні до тих, що використовуються в Microsoft Word:

Властивість таблиці Значення за замовчуванням в Aspose.Words
Border Style Single
Border Width 1/2 пт
Border Color Black
Left and Right Padding 5.4 pts
AutoFit Mode AutoFit to Window
Allow AutoFit True

Створіть таблицю з DocumentBuilder

У Aspose.Words користувачі можуть створити таблицю в документі за допомогою DocumentBuilder. Основний алгоритм створення таблиці наступний:

  1. Почніть таблицю з StartTable
  2. Додайте клітинку до таблиці за допомогою InsertCell - це автоматично почне новий рядок
  3. При необхідності використовуйте властивість CellFormat, щоб задати форматування осередків
  4. Вставте вміст комірки, використовуючи відповідні методи DocumentBuilder, такі як Writeln, InsertImage та інші
  5. Повторюйте кроки 2-4, поки рядок не буде завершено
  6. Викличте EndRow, щоб завершити поточний рядок
  7. При необхідності використовуйте властивість RowFormat, щоб задати форматування рядків
  8. Повторюйте кроки 2-7, поки таблиця не буде заповнена
  9. Викличте EndTable, щоб завершити побудову таблиці

Процес створення таблиці можна наочно побачити на наступному малюнку:

creating-table-process

Наступний приклад коду показує, як створити просту таблицю за допомогою DocumentBuilder із форматуванням за замовчуванням:

Наступний приклад коду показує, як створити відформатовану таблицю за допомогою DocumentBuilder:

Наступний приклад коду показує, як вставити вкладену таблицю за допомогою DocumentBuilder:

Створіть таблицю за допомогою DOM (об’єктна модель документа)

Ви можете вставити таблиці безпосередньо в DOM, додавши новий вузол Table у певному місці.

Зверніть увагу, що відразу після створення вузла таблиці сама таблиця буде повністю порожній, тобто в ній ще не буде рядків і осередків. Щоб вставити рядки та клітинки в таблицю, додайте відповідні дочірні вузли Row та Cell до DOM.

Наступний приклад коду показує, як створити нову таблицю з нуля, додавши відповідні дочірні вузли до дерева документа:

Створіть таблицю з HTML

Aspose.Words підтримує вставку вмісту в документ із джерела HTML за допомогою методу InsertHtml. Вхідними даними можуть бути повна сторінка HTML або лише частковий фрагмент.

Використовуючи метод InsertHtml, користувачі можуть вставляти таблиці в документ за допомогою тегів таблиць, таких як <table>, <tr>, <td>.

Наступний приклад коду показує, як вставити таблицю в документ із рядка, що містить теги HTML:

Вставте копію існуючої таблиці

Часто виникає необхідність створити таблицю на основі вже існуючої таблиці в документі. Найпростіший спосіб скопіювати таблицю, зберігаючи все форматування, - це клонувати вузол таблиці за допомогою методу Clone.

Той самий метод можна використовувати для додавання копій існуючого рядка або комірки до таблиці.

Наступний приклад коду показує, як дублювати таблицю за допомогою конструкторів вузлів:

Наступний приклад коду показує, як клонувати останній рядок таблиці та додати його до таблиці:

Якщо ви плануєте створювати таблиці в документі, які динамічно розширюються з кожним записом з вашого джерела даних, то описаний вище метод не рекомендується. Натомість бажаний результат легше отримати, використовуючи Mail merge з регіонами. Ви можете дізнатися більше про цей метод у Mail Merge з регіонами розділ.

Порівняйте способи створення таблиці

Aspose.Words надає кілька методів для створення нових таблиць у документі. Кожен метод має свої переваги та недоліки, тому вибір, який із них використовувати, часто залежить від конкретної ситуації.

Давайте докладніше розглянемо ці способи створення таблиць і порівняємо їх плюси і мінуси:

Метод Перевага Недостатки
DocumentBuilder Стандартний метод вставки таблиць та іншого вмісту документа Іноді може бути важко створити багато різновидів таблиць одночасно за допомогою одного екземпляра конструктора
Через DOM Краще вписується в навколишній код, який створює та вставляє вузли безпосередньо в DOM без використання DocumentBuilder Таблиця створюється “порожньою”: перш ніж виконувати більшість операцій, ви повинні викликати EnsureMinimum, щоб створити всі відсутні дочірні вузли
З HTML Можна створити нову таблицю з джерела HTML, використовуючи такі теги, як <table>, <tr>, <td> Не всі можливі формати таблиць Microsoft Word можна застосувати до HTML
Клонування існуючої таблиці Ви можете створити копію існуючої таблиці, зберігаючи всі форматування рядків і комірок Відповідні дочірні вузли повинні бути видалені, перш ніж таблиця буде готова до використання