确定Excel单元格内容是否超过Python中的默认大小

时间:2014-06-27 18:13:52

标签: python excel

我们有脚本将数据写入Excel,然后从该Excel文件自动创建PDF报告。在某些情况下,由于细胞的长度,其内容将被切断,如下所示。

enter image description here

我尝试编写一些代码,在将所有数据写入Excel之后但在创建PDF之前调整单元格高度。我有一个Python脚本,它将自动换行,加倍高度,并使垂直对齐居中,前提是我指定了行号(即10& 11)

from win32com.client import Dispatch
excel = Dispatch('Excel.Application')

def main():
    CellAdjust()

def CellAdjust():
    affected_rows = [10,11]
    no_of_sheets = excel.Sheets.Count
    for each_sheet in range(no_of_sheets):
        for row in affected_rows:
            excel.Worksheets(each_sheet+1).Rows(row).VerticalAlignment = 2
            excel.Worksheets(each_sheet+1).Rows(row).WrapText = True
            excel.Worksheets(each_sheet+1).Rows(row).RowHeight = 31.5

if __name__ == '__main__':
    main()

enter image description here

我不想对所有行进行此操作,因为它会破坏剩余字段的最终外观。那么有没有办法确定单元格的内容是否超出默认宽度,如果是,则应用该函数?或者有更好的自动化方法吗?

1 个答案:

答案 0 :(得分:2)

我会使用您的单元格对象的方法来获取单元格的值,然后检查其宽度。如果它太宽而无法显示,请调用CellAdjust函数。您可能需要稍微调整宽度以找到要使用的最佳数字。