Spaltenbreiten (einiger Spalten) in Openpyxl werden nach 60+ Spalten zu Null.
Angenommenwb
Mit 5 Arbeitsblättern füge ich jeden Tag eine Spalte hinzu, indem ich @ benutzopenpyxl
, und das hat gut funktioniert. Jetzt jedoch ist mit j nur mehr als 60 Spalten die Breite der ersten N Spalten (scheint @ zu seB durch zu BH) wurde zu 0. Dies führt dazu, dass die Spalten beim Öffnen in Excel im Wesentlichen verschwinden:
Das Abrufen der Breite der ersten Spalten bestätigt dies (wobeifb
ist ein<Worksheet>
Objekt)
In [71]: fb.column_dimensions["A"].width
Out[71]: 46.125
In [72]: fb.column_dimensions["B"].width
Out[72]: 0.0
In [73]: fb.column_dimensions["BI"].width
Out[73]: 11.75
In [73]: fb.column_dimensions["BJ"].width
Out[73]: 10.25
Ich habe versucht, auto_size einzustellen:
for dimension in fb.column_dimensions.values():
dimension.auto_size = True
und dann Speichern der Arbeitsmappe, dies hatte jedoch keine Auswirkung (Spalten sind in Excel weiterhin unsichtbar). Also habe ich versucht, die Größe einiger Spalten manuell auf eine angemessene Größe einzustellen, z. 12:
fb.column_dimensions["B"].width = 12
und erneutes Speichern, aber noch keine Änderung (Spalten sind in Excel noch nicht sichtbar),Trotz der Tatsache, dass beim erneuten Laden der Tabelle in openpyxl und Überprüfen der Spaltenbreite die neue Größe (ungleich Null) festgelegt wird.
Sollte einer oder beide dieser Ansätze auch geklappt haben und es gibt einen zusätzlichen Schritt, den ich vermisse?
Python: 2.7.10
Openpyxl: 2.2.2