如何使用xlwings调整宽度列

2024-10-01 09:25:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个函数,用xlwings将数据保存在工作簿中,我想调整宽度列

class VehicleClass:
    def __init__(self, VehClass):
        # Vehicles 4 - Vehicle Classes
        self.VehClass = [VehClass]
        self.VehName = []
        self.ScaleFactor = []

    def add(self, VehName, ScaleFactor):
        self.VehClass*=1
        self.VehName.append(VehName)
        self.ScaleFactor.append(ScaleFactor)        

    def save(self):
        # Vehicles 4 - Vehicle Classes
        sht = wb.sheets['Vehicles 4 - Vehicle Classes']
        rng = sht.range("A1").end('down').offset(1, 0)

        for i, item in enumerate([self.VehClass, self.VehName, self.ScaleFactor]):
            rng.offset(0, i).options(transpose=True).value = item
            rng.autofit() # or rng.columns.autofit()

但没用。在

你知道吗?谢谢您!在


Tags: 函数selfdefitemclassesoffsetshtrng
1条回答
网友
1楼 · 发布于 2024-10-01 09:25:32

您需要将autofit()置于循环之外,因为它将自动调整每行的列宽。除非最后一行的文本最长,否则这行不通。在

如果要自动调整整个列,可以使用rng.entirecolumn.autofit()或指定范围以包括要自动调整列宽的所有行,例如sht.range("A1:A20").columns.autofit()

相关问题 更多 >