В этой статье мы будем работать с таблицами в Python, мы покажем вам самый простой способ создать таблицу и манипулировать данными внутри таблицы. Используя наш API, вы можете манипулировать таблицами и экспортировать их в различные форматы, такие как Word, Excel, PDF и т. д.
Мы представим Aspose.Words для Python через .NET и сосредоточимся на создании и вставке таблиц с помощью этот API.
Aspose.Words для Python через .NET — это библиотека классов, предназначенная для чтения и обработки документов различных типов, таких как Microsoft Word (DOCX, DOC, ODT), Web (Markdown, HTML), PDF и других. С помощью этого Python API вы можете создавать, редактировать, визуализировать и преобразовывать файлы Word в различные форматы, создавать отчеты и визуализировать свои данные без необходимости использования внешнего программного обеспечения.
Более 100 классов Python для обработки документов и данных. операции форматирования в вашем распоряжении.
Работа с таблицами в Python
Таблицы позволяют организовать большие объемы информации и отображать ее в виде сетки со строками и столбцами. Они очень полезны при отображении данных во вкладках, так как позволяют лучше контролировать структуру содержимого.
Таблицы – это структурированные наборы данных, состоящие из строк и столбцов. Они полностью поддерживаются в нашей библиотеке, и вы можете легко редактировать, изменять, добавлять и удалять таблицы.
Ниже мы покажем вам, как создать новую таблицу с помощью Python, а в нашей документации вы можете увидеть, как применять форматирование, работа со стилем таблиц, работа со столбцами и строками, объединение и разделение таблиц.
Создание таблиц в Python
Наша библиотека предлагает различные методы создания новых таблиц в документе, и в этой статье мы увидим, как использовать некоторые из этих методов.
Значения вновь созданной таблицы аналогичны значениям по умолчанию в Microsoft Word.
Вы можете вставить таблицу с помощью класса DocumentBuilder и следующего метода построения таблицы:
• DocumentBuilder.start_table
• DocumentBuilder.insert_cell
• DocumentBuilder.end_row
• DocumentBuilder.end_table
• DocumentBuilder.writeln
Создайте таблицу в Python, выполнив следующие 7 шагов:
- Запустите таблицу с помощью DocumentBuilder.start_table.
- Используйте DocumentBuilder.insert_cell, чтобы вставить ячейку в таблицу, и используйте DocumentBuilder.cell_format, чтобы задать форматирование ячейки.
- Используйте DocumentBuilder для вставки содержимого ячейки.
- Просто повторяйте шаги 2 и 3, пока не закончите ряд.
- Вы можете вызвать метод DocumentBuilder.end_row для завершения строки и использовать DocumentBuilder.row_format для форматирования строки.
- После этого просто повторяйте шаги со 2 по 5, пока не заполните таблицу.
- Используйте метод DocumentBuilder.end_table, чтобы закончить таблицу.
Более подробно о классе DocumentBuilder и методах создания таблиц описано в нашей документации.
В приведенном ниже примере вы можете увидеть, как создать простую таблицу с форматированием по умолчанию с помощью DocumentBuilder.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET doc = aw.Document() builder = aw.DocumentBuilder(doc) # Start building the table. builder.start_table() builder.insert_cell() builder.write("Row 1, Cell 1 Content.") # Build the second cell. builder.insert_cell() builder.write("Row 1, Cell 2 Content.") # Call the following method to end the row and start a new row. builder.end_row() # Build the first cell of the second row. builder.insert_cell() builder.write("Row 2, Cell 1 Content") # Build the second cell. builder.insert_cell() builder.write("Row 2, Cell 2 Content.") builder.end_row() # Signal that we have finished building the table. builder.end_table() doc.save(docs_base.artifacts_dir + "WorkingWithTables.create_simple_table.docx")
Создайте форматированную таблицу с помощью DocumentBuilder с приведенным ниже примером кода.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET doc = aw.Document() builder = aw.DocumentBuilder(doc) table = builder.start_table() builder.insert_cell() # Table wide formatting must be applied after at least one row is present in the table. table.left_indent = 20.0 # Set height and define the height rule for the header row. builder.row_format.height = 40.0 builder.row_format.height_rule = aw.HeightRule.AT_LEAST builder.cell_format.shading.background_pattern_color = drawing.Color.from_argb(198, 217, 241) 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") # We don't need to specify this cell's width because it's inherited from the previous cell. 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.shading.background_pattern_color = drawing.Color.white builder.cell_format.width = 100.0 builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER # Reset height and define a different height rule for table body. builder.row_format.height = 30.0 builder.row_format.height_rule = aw.HeightRule.AUTO builder.insert_cell() # Reset font formatting. 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(docs_base.artifacts_dir + "WorkingWithTables.formatted_table.docx")
Вставка существующей таблицы
Если у вас уже есть таблица в документе и вы хотите добавить копию этой таблицы, чтобы внести в нее какие-то изменения, самый простой способ продублировать таблицу — использовать метод Table.clone, чтобы сохранить все форматирование.< br /> В приведенном ниже примере вы можете увидеть, как вставить таблицу, и если вам нужен файл шаблона этого примера, вы можете скачать его здесь.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET doc = aw.Document(docs_base.my_dir + "Tables.docx") table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() # Clone the table and insert it into the document after the original. tableClone = table.clone(True).as_table() table.parent_node.insert_after(tableClone, table) # Insert an empty paragraph between the two tables, # or else they will be combined into one upon saving this has to do with document validation. table.parent_node.insert_after(aw.Paragraph(doc), table) doc.save(docs_base.artifacts_dir + "WorkingWithTables.clone_complete_table.docx")
Если у вас есть вопросы о таблицах, Aspose.Words для Python через продукты .NET и вам нужна помощь наших разработчиков платной поддержки для реализации нашего API в вашем проекте, не стесняйтесь связаться с нами.