створювати таблиці в документах Word за допомогою python

Таблиці зазвичай використовуються в документах Word для організації інформації у вигляді сітки. Вони дозволяють узагальнювати інформацію у вигляді рядків і стовпців. У цій статті ви дізнаєтесь, як програмно створити таблицю в документах Word за допомогою Python. Крім того, у статті буде описано, як створити вкладені таблиці або клонувати існуючу таблицю в документах Word.

Бібліотека Python для створення таблиць у документах Word

Для роботи з таблицями в документах Word ми будемо використовувати Aspose.Words for Python. Бібліотека призначена для динамічного створення документів Word і керування ними з програм Python. Ви можете встановити бібліотеку з PyPI за допомогою такої команди pip.

pip install aspose-words

Створення таблиці в документі Word на Python

Нижче наведено кроки для створення таблиці в документі Word DOCX за допомогою Python.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Запустіть таблицю за допомогою методу DocumentBuilder.starttable() і отримайте посилання на таблицю в об’єкті.
  • Вставте клітинку за допомогою методу DocumentBuilder.insertcell().
  • Встановіть форматування комірки за допомогою властивості DocumentBuilder.cellformat.
  • Встановіть автоматичне припасування за допомогою методу autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Встановити вирівнювання комірки.
  • Вставте текст у клітинку за допомогою методу DocumentBuilder.write().
  • Повторіть вставлення клітинок і тексту в клітинки за потреби.
  • Завершіть рядок, коли завершите вставлення клітинок.
  • Завершіть таблицю, коли ви вставите всі рядки.
  • Збережіть документ Word за допомогою методу Document.save().

У наведеному нижче прикладі коду показано, як створити таблицю в документах DOCX за допомогою Python.

import aspose.words as aw

# Створіть новий документ Word.
doc = aw.Document()

# Створення конструктора документів.
builder = aw.DocumentBuilder(doc)

# Почніть стіл.
table = builder.start_table()

# Вставити клітинку.
builder.insert_cell()

# Широке форматування таблиці має застосовуватися після того, як у таблиці присутній принаймні один рядок.
table.left_indent = 20.0

# Установіть висоту та визначте правило висоти для рядка заголовка.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

# Встановіть параметри вирівнювання та шрифту.
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER
builder.font.size = 16
builder.font.name = "Arial"
builder.font.bold = True

builder.cell_format.width = 100.0
builder.write("Header Row,\n Cell 1")

# Нам не потрібно вказувати ширину цієї комірки, оскільки вона успадкована від попередньої комірки.
builder.insert_cell()
builder.write("Header Row,\n Cell 2")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Header Row,\n Cell 3")
builder.end_row()

builder.cell_format.width = 100.0
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER

# Скиньте висоту та визначте інше правило висоти для тіла таблиці.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()

# Скинути форматування шрифту.
builder.font.size = 12
builder.font.bold = False

builder.write("Row 1, Cell 1 Content")
builder.insert_cell()
builder.write("Row 1, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 1, Cell 3 Content")
builder.end_row()

builder.insert_cell()
builder.cell_format.width = 100.0
builder.write("Row 2, Cell 1 Content")

builder.insert_cell()
builder.write("Row 2, Cell 2 Content")

builder.insert_cell()
builder.cell_format.width = 200.0
builder.write("Row 2, Cell 3 Content.")
builder.end_row()

# Кінець таблиці.
builder.end_table()

# Збережіть документ.
doc.save("table_formatted.docx")

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

Таблиця в документі Word DOCX

Таблиця в документі Word DOCX

Створіть вкладену таблицю в документі Word на Python

Aspose.Words for Python також дозволяє легко створювати вкладену таблицю. Іншими словами, ви можете створити нову таблицю в клітинці таблиці. Нижче наведено кроки для створення вкладеної таблиці у файлі Word DOCX.

  • Створіть об’єкт класу Document.
  • Створити об’єкт класу DocumentBuilder.
  • Запустіть таблицю за допомогою методу DocumentBuilder.starttable() і отримайте посилання на таблицю в об’єкті.
  • Вставте комірку за допомогою методу DocumentBuilder.insertcell() і отримайте посилання на комірку в об’єкті.
  • Вставте текст у клітинку за допомогою методу DocumentBuilder.write().
  • Повторіть вставлення клітинок і тексту в клітинки за потреби.
  • Завершіть таблицю, коли ви вставите всі рядки.
  • Перемістіть елемент керування всередину потрібної клітинки за допомогою методу DocumentBuilder.moveto(Cell.firstparagraph).
  • Створіть ще одну таблицю, вставивши клітинки, і завершіть таблицю, коли закінчите.
  • Збережіть документ Word за допомогою методу Document.save().

У наведеному нижче прикладі коду показано, як створити вкладену таблицю в документі DOCX за допомогою Python.

import aspose.words as aw

# Створіть новий документ Word.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# Вставити клітинку.
cell = builder.insert_cell()
builder.writeln("Outer Table Cell 1")

builder.insert_cell()
builder.writeln("Outer Table Cell 2")

# Цей виклик важливий для створення вкладеної таблиці в першій таблиці. 
# Без цього виклику клітинки, вставлені нижче, будуть додані до зовнішньої таблиці.
builder.end_table()

# Перехід до першої комірки зовнішньої таблиці.
builder.move_to(cell.first_paragraph)

# Побудуйте внутрішній стіл.
builder.insert_cell()
builder.writeln("Inner Table Cell 1")
builder.insert_cell()
builder.writeln("Inner Table Cell 2")
builder.end_table()

# Збережіть документ.
doc.save("table_nested.docx")

Нижче наведено результат прикладу коду вище.

Вкладена таблиця в документі Word

Вкладена таблиця в документі Word

Клонуйте існуючу таблицю в документі Word на Python

Ви також можете клонувати існуючу таблицю в документі Word. Нижче наведено кроки для виконання цієї операції.

  • Завантажте документ за допомогою класу документа.
  • Отримати посилання на таблицю в об’єкті за допомогою методу Document.getchild(NodeType.TABLE, int, boolean).astable().
  • Викликати метод clone(True).astable() за допомогою об’єкта таблиці та отримати посилання на клоновану таблицю в іншому об’єкті.
  • Вставте клоновану таблицю за допомогою методу Table.parentnode.insertafter().
  • Вставте порожній абзац між таблицями за допомогою методу Table.parentnode.insertafter(Paragraph(Document), Table).
  • Збережіть документ Word за допомогою методу Document.save().

У наведеному нижче прикладі коду показано, як клонувати таблицю в документі Word DOCX за допомогою Python.

import aspose.words as aw

# Завантажте документ Word.
doc = aw.Document("table_formatted.docx")

# Отримайте посилання на потрібну таблицю.
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# Клонуйте таблицю та вставте її в документ після вихідної таблиці.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# Вставте порожній абзац між двома таблицями,
# інакше вони будуть об'єднані в один під час збереження.
table.parent_node.insert_after(aw.Paragraph(doc), table)

# Збережіть документ.
doc.save("table_clone.docx")

На наступному знімку екрана показано клоновану таблицю в документі Word.

Клонована таблиця в документі Word

Клонована таблиця в документі Word

Отримайте безкоштовну ліцензію API

Ви можете отримати тимчасову ліцензію на використання Aspose.Words for Python без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створювати таблиці в документах Word за допомогою Python. Крім того, ви бачили, як динамічно створювати вкладені таблиці або клонувати існуючі таблиці в документах Word. Крім того, ви можете відвідати документацію Aspose.Words for Python, щоб дослідити інші функції. У разі будь-яких запитань, не соромтеся повідомити нас через наш форум.

Дивись також

Інформація: якщо вам колись знадобиться отримати документ Word із презентації PowerPoint, ви можете скористатися конвертером Aspose Презентація в документ Word.