Spaltenbreiten (einige Spalten) in Openpyxl sich null nach 60+ Spalten

Gegeben wb mit 5 Arbeitsblättern, ich bin das hinzufügen einer Spalte, die jeder jeden Tag mit openpyxl, und das hat gut funktioniert. Jetzt aber, mit knapp über 60 Spalten, die Breite der ersten N Anzahl der Spalten (scheint B durch BH) hat zu 0. Dies ergibt die Spalten, die im wesentlichen verschwinden beim öffnen in Excel:

Spaltenbreiten (einige Spalten) in Openpyxl sich null nach 60+ Spalten

Holen die Breite der ersten paar Spalten bestätigt dies (wo fb 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 Einstellung auto_size:

for dimension in fb.column_dimensions.values():
    dimension.auto_size = True

und speichern Sie anschließend die Arbeitsmappe, aber das hatte keinen Effekt (Spalten sind immer noch unsichtbar, in Excel). Also habe ich versucht manuell die Einstellung der Größe von ein paar Spalten in einer vernünftigen Größe, z.B. 12:

fb.column_dimensions["B"].width = 12

wieder speichern, aber noch keine änderung (Spalten sind immer noch unsichtbar, in Excel), trotz der Tatsache, dass, wenn ich laden Sie das Arbeitsblatt in openpyxl und überprüfen Sie die Spalten, die Breite, die Sie festgelegt sind, auf die neue (nicht-null) - Größe.

Sollte eine oder beide dieser Ansätze haben sogar gearbeitet, und es ist ein zusätzlicher Schritt fehlt mir?

Python: 2.7.10

Openpyxl: 2.2.2

  • Ich habe in Excel markiert alle Zellen in einem Blatt, dann-Format->Spalte->Einblenden, und die unsichtbare Spalten werden wieder angezeigt. Dieser schlug ursprünglich vor mir das Problem lag mit Excel selbst, aber wenn ich öffnen Sie die Tabellenkalkulation in OpenOffice die Spalten sind auch dort versteckt.
InformationsquelleAutor Pyderman | 2015-09-18
Schreibe einen Kommentar