Ja

KNOWLEDGEBASE

Python のテーブル | Aspose

この記事では、Python でテーブルを操作します。テーブルを作成し、テーブル内のデータを操作する最も簡単な方法を紹介します。 API を使用すると、テーブルを操作して、Word、Excel、PDF などのさまざまな形式にエクスポートできます。 .NET 経由で Aspose.Words for Python を導入し、この API を使用してテーブルを作成および挿入することに焦点を当てます。

Python のテーブル

Aspose.Words for Python via .NET は、Microsoft Word (DOCX、DOC、ODT) などのさまざまなタイプのドキュメントを読み取って操作するために設計されたクラス ライブラリです。 )、Web (Markdown、HTML)、PDF など。 この Python API を使用すると、外部ソフトウェアを必要とせずに、Word ファイルを作成、編集、レンダリング、および複数の形式に変換し、レポートを生成し、データを視覚化できます。 ドキュメント処理とデータのフォーマット操作を処理するための 100 を超える Python クラスを自由に使用できます。

Python でのテーブルの操作

テーブルを使用すると、大量の情報を整理し、行と列を含むグリッドのような構造で表示できます。 コンテンツのデザインをより適切に制御できるため、タブ付きデータを表示するときに非常に便利です。 テーブルは、行と列で構成されるデータの構造化されたセットです。 それらはライブラリで完全にサポートされており、テーブルを簡単に編集、変更、追加、および削除できます。 以下では、Python を使用して新しいテーブルを作成する方法を示します。ドキュメントでは、[フォーマットを適用]する方法を確認できます( https://docs.aspose.com/words/python-net/applying-formatting/)。 、 TableStyle を操作する、[列と行を操作する]( https://docs.aspose.com/words /python-net/working-with-columns-and-rows/)、 テーブルの結合と分割 .

Python でテーブルを作成する

私たちのライブラリは、ドキュメント内に新しいテーブルを作成するためのさまざまな方法を提供しています。この記事では、これらの方法のいくつかを使用する方法について説明します。 新しく作成されたテーブルには、Microsoft Word のデフォルト値と同様の値が含まれています。

テーブル プロパティ Python

DocumentBuilder クラス を使用してテーブルを挿入し、次の方法でテーブルを作成できます。

DocumentBuilder.start_table

DocumentBuilder.insert_cell

DocumentBuilder.end_row

DocumentBuilder.end_table

DocumentBuilder.writeln

ビルド テーブル メソッド Python

次の 7 つの手順を使用して、Python でテーブルを作成します:

  1. DocumentBuilder.start_table でテーブルを開始します。
  2. DocumentBuilder.insert_cell を使用してテーブル内にセルを挿入し、DocumentBuilder.cell_format を使用してセルのフォーマットを指定します。
  3. DocumentBuilder を使用して、セルの内容を挿入します。
  4. 行が完成するまで、手順 2 と 3 を繰り返します。
  5. DocumentBuilder.end_row メソッドを呼び出して行を終了し、DocumentBuilder.row_format を使用して行の書式設定を行うことができます。
  6. その後、表が完成するまで手順 2 から 5 を繰り返します。
  7. 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]( https://reference.aspose .com/words/python-net/aspose.words/node/clone/) メソッドを使用して、すべてのフォーマットを保持します。 以下に示す例では、表を挿入する方法を確認できます。この例のテンプレート ファイルが必要な場合は、[ここ] ( https://github.com/aspose-words/Aspose.Words) からダウンロードできます。 -for-Python-via-.NET/blob/master/Examples/Data/Tables.docx)。

# 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 for Python via .NET 製品について質問があり、プロジェクトに API を実装するために 有料サポート開発者 の支援が必要な場合は、お気軽に [ お問い合わせ] ( https://consulting.aspose.com/contact/)。