我编写了一个函数,用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()
但没用。在
你知道吗?谢谢您!在
您需要将
autofit()
置于循环之外,因为它将自动调整每行的列宽。除非最后一行的文本最长,否则这行不通。在如果要自动调整整个列,可以使用
rng.entirecolumn.autofit()
或指定范围以包括要自动调整列宽的所有行,例如sht.range("A1:A20").columns.autofit()
相关问题 更多 >
编程相关推荐