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:
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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es scheint nicht ein Problem mit der Spaltenbreite durch, aber die Spalten selbst sind verborgen. Können Sie Ihre vollständigen code?
Einen workaround könnte sein
fb.column_dimensions['B'].hidden = False
Zusätzlich würde ich ein update auf die neueste version von openpyxl mit
pip install openpyxl
.hidden
zuFalse
nicht das problem zu beheben.