buat tabel dalam dokumen word menggunakan python

Tabel biasanya digunakan dalam dokumen Word untuk mengatur informasi dalam struktur seperti kisi. Mereka memungkinkan Anda untuk meringkas informasi dalam bentuk baris dan kolom. Pada artikel ini, Anda akan belajar cara membuat tabel dalam dokumen Word secara terprogram menggunakan Python. Selain itu, artikel ini akan membahas cara membuat tabel bersarang atau mengkloning tabel yang ada di dokumen Word.

Pustaka Python untuk Membuat Tabel di Dokumen Word

Untuk bekerja dengan tabel dalam dokumen Word, kita akan menggunakan Aspose.Words for Python. Pustaka ini dirancang untuk membuat dan memanipulasi dokumen Word secara dinamis dari dalam aplikasi Python. Anda dapat menginstal pustaka dari PyPI menggunakan perintah pip berikut.

pip install aspose-words

Buat Tabel dalam Dokumen Word dengan Python

Berikut langkah-langkah membuat tabel pada dokumen Word DOCX dengan menggunakan Python.

  • Buat objek kelas Document.
  • Buat objek kelas DocumentBuilder.
  • Mulai tabel menggunakan metode DocumentBuilder.starttable() dan dapatkan referensi tabel dalam sebuah objek.
  • Masukkan sel menggunakan metode DocumentBuilder.insertcell().
  • Atur pemformatan sel menggunakan properti DocumentBuilder.cellformat.
  • Atur penyesuaian otomatis menggunakan metode autofit(aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS).
  • Mengatur perataan sel.
  • Sisipkan teks ke dalam sel menggunakan metode DocumentBuilder.write().
  • Ulangi penyisipan sel dan teks ke dalam sel sesuai kebutuhan.
  • Akhiri baris saat Anda selesai memasukkan sel.
  • Akhiri tabel setelah Anda memasukkan semua baris.
  • Simpan dokumen Word menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara membuat tabel dalam dokumen DOCX menggunakan Python.

import aspose.words as aw

# Buat dokumen Word baru.
doc = aw.Document()

# Buat pembuat dokumen.
builder = aw.DocumentBuilder(doc)

# Mulai tabel.
table = builder.start_table()

# Sisipkan sel.
builder.insert_cell()

# Pemformatan lebar tabel harus diterapkan setelah setidaknya satu baris ada dalam tabel.
table.left_indent = 20.0

# Tetapkan tinggi dan tentukan aturan tinggi untuk baris tajuk.
builder.row_format.height = 40.0
builder.row_format.height_rule = aw.HeightRule.AT_LEAST

# Atur perataan dan pengaturan font.
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")

# Kita tidak perlu menentukan lebar sel ini karena diwariskan dari sel sebelumnya.
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

# Setel ulang ketinggian dan tentukan aturan ketinggian yang berbeda untuk badan tabel.
builder.row_format.height = 30.0
builder.row_format.height_rule = aw.HeightRule.AUTO
builder.insert_cell()

# Setel ulang pemformatan font.
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()

# Akhir tabel.
builder.end_table()

# Simpan dokumen.
doc.save("table_formatted.docx")

Berikut screenshot tabel yang telah kita buat menggunakan contoh kode di atas.

Buat Tabel Bersarang di Dokumen Word dengan Python

Aspose.Words for Python juga memungkinkan Anda membuat tabel bersarang dengan mulus. Dengan kata lain, Anda dapat membuat tabel baru di dalam sel tabel. Berikut ini adalah langkah-langkah untuk membuat nested table pada file Word DOCX.

  • Buat objek kelas Document.
  • Buat objek kelas DocumentBuilder.
  • Mulai tabel menggunakan metode DocumentBuilder.starttable() dan dapatkan referensi tabel dalam sebuah objek.
  • Masukkan sel menggunakan metode DocumentBuilder.insertcell() dan dapatkan referensi sel dalam objek.
  • Sisipkan teks ke dalam sel menggunakan metode DocumentBuilder.write().
  • Ulangi penyisipan sel dan teks ke dalam sel sesuai kebutuhan.
  • Akhiri tabel setelah Anda memasukkan semua baris.
  • Pindahkan kontrol di dalam sel yang diinginkan menggunakan metode DocumentBuilder.moveto(Cell.firstparagraph).
  • Buat tabel lain dengan menyisipkan sel dan akhiri tabel setelah selesai.
  • Simpan dokumen Word menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara membuat tabel bersarang di dokumen DOCX menggunakan Python.

import aspose.words as aw

# Buat dokumen Word baru.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# Sisipkan sel.
cell = builder.insert_cell()
builder.writeln("Outer Table Cell 1")

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

# Panggilan ini penting untuk membuat tabel bersarang di dalam tabel pertama. 
# Tanpa panggilan ini, sel yang disisipkan di bawah akan ditambahkan ke tabel luar.
builder.end_table()

# Pindah ke sel pertama dari tabel luar.
builder.move_to(cell.first_paragraph)

# Bangun meja bagian dalam.
builder.insert_cell()
builder.writeln("Inner Table Cell 1")
builder.insert_cell()
builder.writeln("Inner Table Cell 2")
builder.end_table()

# Simpan dokumen.
doc.save("table_nested.docx")

Berikut adalah output dari contoh kode di atas.

Mengkloning Tabel yang Ada di Dokumen Word dengan Python

Anda juga dapat mengkloning tabel yang ada di dokumen Word. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

  • Muat dokumen menggunakan kelas Document.
  • Dapatkan referensi tabel dalam objek menggunakan metode Document.getchild(NodeType.TABLE, int, boolean).astable() .
  • Panggil metode clone(True).astabil() menggunakan objek tabel dan dapatkan referensi dari tabel yang dikloning di objek lain.
  • Sisipkan tabel kloning menggunakan metode Table.parentnode.insertafter().
  • Sisipkan paragraf kosong di antara tabel menggunakan metode Table.parentnode.insertafter(Paragraph(Document), Table).
  • Simpan dokumen Word menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara mengkloning tabel dalam dokumen Word DOCX menggunakan Python.

import aspose.words as aw

# Muat dokumen Word.
doc = aw.Document("table_formatted.docx")

# Dapatkan referensi dari tabel yang diinginkan.
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table()

# Kloning tabel dan masukkan ke dalam dokumen setelah tabel asli.
tableClone = table.clone(True).as_table()
table.parent_node.insert_after(tableClone, table)

# Sisipkan paragraf kosong di antara dua tabel,
# atau mereka akan digabungkan menjadi satu saat disimpan.
table.parent_node.insert_after(aw.Paragraph(doc), table)

# Simpan dokumen.
doc.save("table_clone.docx")

Tangkapan layar berikut menunjukkan tabel kloning dalam dokumen Word.

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara untuk menggunakan Aspose.Words for Python tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat tabel di dokumen Word menggunakan Python. Selain itu, Anda telah melihat cara membuat tabel bersarang atau mengkloning tabel yang ada di dokumen Word secara dinamis. Selain itu, Anda dapat mengunjungi dokumentasi Aspose.Words for Python untuk menjelajahi fitur lainnya. Jika ada pertanyaan, silakan beri tahu kami melalui forum kami.

Lihat juga

Info: Jika Anda perlu mendapatkan dokumen Word dari presentasi PowerPoint, Anda dapat menggunakan pengonversi Aspose Presentation to Word Document.