Kelola Baris dan Kolom pada Tabel PowerPoint Menggunakan Python
Pendahuluan
Untuk memungkinkan Anda mengelola baris dan kolom tabel dalam presentasi PowerPoint, Aspose.Slides menyediakan kelas Table dan banyak tipe lainnya.
Set Baris Pertama sebagai Header
- Buat instance dari kelas Presentation dan muat presentasi.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Buat referensi Table dan setel menjadi
None. - Iterasi semua objek Shape untuk menemukan tabel yang relevan.
- Setel baris pertama tabel sebagai header.
Kode Python berikut menunjukkan cara menyetel baris pertama tabel sebagai header:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table
presentation = Presentation("table.pptx")
try:
slide = presentation.getSlides().get_Item(0)
table = None
for shape in slide.getShapes():
if isinstance(shape, Table):
table = shape
table.setFirstRow(True)
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Kloning Baris atau Kolom Tabel
- Buat instance dari kelas Presentation dan muat presentasi.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Definisikan daftar lebar kolom.
- Definisikan daftar tinggi baris.
- Tambahkan objek Table ke slide melalui metode addTable.
- Kloning baris tabel.
- Kloning kolom tabel.
- Simpan presentasi yang telah dimodifikasi.
Kode Python berikut menunjukkan cara mengkloning baris atau kolom tabel PowerPoint:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("Test.pptx")
try:
slide = presentation.getSlides().get_Item(0)
column_widths = [50, 50, 50]
row_heights = [50, 30, 30, 30, 30]
table = slide.getShapes().addTable(100, 50, column_widths, row_heights)
table.get_Item(0, 0).getTextFrame().setText("Row 1 Cell 1")
table.get_Item(1, 0).getTextFrame().setText("Row 1 Cell 2")
table.getRows().addClone(table.getRows().get_Item(0), False)
table.get_Item(0, 1).getTextFrame().setText("Row 2 Cell 1")
table.get_Item(1, 1).getTextFrame().setText("Row 2 Cell 2")
table.getRows().insertClone(3, table.getRows().get_Item(1), False)
table.getColumns().addClone(table.getColumns().get_Item(0), False)
table.getColumns().insertClone(3, table.getColumns().get_Item(1), False)
presentation.save("table_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Hapus Baris atau Kolom dari Tabel
- Buat instance dari kelas Presentation.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Definisikan daftar lebar kolom.
- Definisikan daftar tinggi baris.
- Tambahkan objek Table ke slide melalui metode addTable.
- Hapus baris tabel.
- Hapus kolom tabel.
- Simpan presentasi yang telah dimodifikasi.
Kode Python berikut menunjukkan cara menghapus baris atau kolom dari tabel:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
column_widths = [100, 50, 30]
row_heights = [30, 50, 30]
table = slide.getShapes().addTable(100, 100, column_widths, row_heights)
table.getRows().removeAt(1, False)
table.getColumns().removeAt(1, False)
presentation.save("TestTable_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Setel Pemformatan Teks pada Tingkat Baris Tabel
- Buat instance dari kelas Presentation dan muat presentasi.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Akses objek Table yang relevan dari slide.
- Setel tinggi font sel baris pertama menggunakan setFontHeight.
- Setel perataan teks dan margin kanan sel baris pertama menggunakan setAlignment dan setMarginRight.
- Setel tipe teks vertikal sel baris kedua menggunakan setTextVerticalType.
- Simpan presentasi yang telah dimodifikasi.
Kode Python berikut mendemonstrasikan operasi tersebut.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table, PortionFormat, ParagraphFormat, TextFrameFormat, TextAlignment, TextVerticalType
presentation = Presentation("table.pptx")
try:
shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
if isinstance(shape, Table):
table = shape
portion_format = PortionFormat()
portion_format.setFontHeight(25)
table.getRows().get_Item(0).setTextFormat(portion_format)
paragraph_format = ParagraphFormat()
paragraph_format.setAlignment(TextAlignment.Right)
paragraph_format.setMarginRight(20)
table.getRows().get_Item(0).setTextFormat(paragraph_format)
text_frame_format = TextFrameFormat()
text_frame_format.setTextVerticalType(TextVerticalType.Vertical)
table.getRows().get_Item(1).setTextFormat(text_frame_format)
presentation.save("result.pptx", SaveFormat.Pptx)
else:
print("The first shape is not a table.")
finally:
presentation.dispose()
Setel Pemformatan Teks pada Tingkat Kolom Tabel
- Buat instance dari kelas Presentation dan muat presentasi.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Akses objek Table yang relevan dari slide.
- Setel tinggi font sel kolom pertama menggunakan setFontHeight.
- Setel perataan teks dan margin kanan sel kolom pertama menggunakan setAlignment dan setMarginRight.
- Setel tipe teks vertikal sel kolom kedua menggunakan setTextVerticalType.
- Simpan presentasi yang telah dimodifikasi.
Kode Python berikut mendemonstrasikan operasi tersebut:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, Table, PortionFormat, ParagraphFormat, TextFrameFormat, TextAlignment, TextVerticalType
presentation = Presentation("table.pptx")
try:
shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
if isinstance(shape, Table):
table = shape
portion_format = PortionFormat()
portion_format.setFontHeight(25)
table.getColumns().get_Item(0).setTextFormat(portion_format)
paragraph_format = ParagraphFormat()
paragraph_format.setAlignment(TextAlignment.Right)
paragraph_format.setMarginRight(20)
table.getColumns().get_Item(0).setTextFormat(paragraph_format)
text_frame_format = TextFrameFormat()
text_frame_format.setTextVerticalType(TextVerticalType.Vertical)
table.getColumns().get_Item(1).setTextFormat(text_frame_format)
presentation.save("result.pptx", SaveFormat.Pptx)
else:
print("The first shape is not a table.")
finally:
presentation.dispose()
Dapatkan Properti Gaya Tabel
Aspose.Slides memungkinkan Anda mengambil properti gaya untuk sebuah tabel sehingga Anda dapat menggunakan detail tersebut pada tabel lain atau di tempat lain. Kode Python berikut menunjukkan cara mendapatkan properti gaya dari gaya preset tabel:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat, TableStylePreset
presentation = Presentation()
try:
column_widths = [100, 150]
row_heights = [5, 5, 5]
table = presentation.getSlides().get_Item(0).getShapes().addTable(10, 10, column_widths, row_heights)
table.setStylePreset(TableStylePreset.DarkStyle1)
style_preset = table.getStylePreset()
print(style_preset)
presentation.save("table.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
FAQ
Apakah saya dapat menerapkan tema/gaya PowerPoint ke tabel yang sudah dibuat?
Ya. Tabel mewarisi tema slide/layout/master, dan Anda masih dapat menimpa isian, batas, dan warna teks di atas tema tersebut.
Apakah saya dapat menyortir baris tabel seperti di Excel?
Tidak, tabel Aspose.Slides tidak memiliki penyortiran atau filter bawaan. Urutkan data Anda di memori terlebih dahulu, lalu isi kembali baris tabel dalam urutan tersebut.
Apakah saya dapat memiliki kolom berpita (bergaris) sambil mempertahankan warna khusus pada sel tertentu?
Ya. Aktifkan kolom berpita, kemudian timpa sel tertentu dengan pemformatan lokal; pemformatan tingkat sel memiliki prioritas lebih tinggi daripada gaya tabel.