我们有脚本将数据写入Excel,然后从该Excel文件自动创建PDF报告。在某些情况下,由于细胞的长度,其内容将被切断,如下所示。
我尝试编写一些代码,在将所有数据写入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()
我不想对所有行进行此操作,因为它会破坏剩余字段的最终外观。那么有没有办法确定单元格的内容是否超出默认宽度,如果是,则应用该函数?或者有更好的自动化方法吗?
答案 0 :(得分:2)
我会使用您的单元格对象的值方法来获取单元格的值,然后检查其宽度。如果它太宽而无法显示,请调用CellAdjust函数。您可能需要稍微调整宽度以找到要使用的最佳数字。