[英]Autofit column width with python pptx
我已將表格插入到pptx文件中,並且我想自動調整列寬,以使列單元格中的所有文本都無需換行。 因此,我只是在搜索整個列的自動調整。
到目前為止,我有:
from pptx import Presentation
from pptx.util import Inches
from PandasToPowerpoint import df_to_table
import pandas as pd
d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
top = Inches(2.5)
left = Inches(0.48)
width = Inches(12.3)
height = Inches(3.0)
df_to_table(slide, df.reset_index(), left, top, width, height)
for shape in slide.shapes:
if shape.has_table:
table = shape.table
for column in table.columns:
column.width=Inches(3)
prs.save('test.pptx')
我試過了:
column.text_frame.auto_size = True
column.auto_size = True
column.fit_text= True
但它們都不起作用。 如果自動調整不起作用,我還可以遍歷一列的所有單元格,並標識出具有最長文本的單元格,然后將整個列寬調整為該文本。 但是我也找不到正確的命令來獲取文本寬度...任何想法表示贊賞!
我知道您正在尋找一種調整列寬的解決方案,但是如何調整行高:
import pptx.enum.text MSO_AUTO_SIZE
table.cell(row, column).text_frame.auto_size = MSO_AUTO_SIZE.SHAPE_TO_FIT_TEXT
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.