Ich möchte die Excel-Autofit-Funktion in Python xlsxwriter simulieren. Gemäß dieser URL wird nicht direkt unterstützt: http://xlsxwriter.readthedocs.io/worksheet.htmlAutofit-Spalte in xslxwriter simulieren
Allerdings soll es auf dem Blatt durch jede Zelle in einer Schleife ganz einfach sein und die maximale Größe für die Spalte bestimmt und nur worksheet.set_column (Zeile, Spalte verwenden , Breite), um die Breite einzustellen.
Die Komplikationen, die mich von nur dieses Schreiben hält, sind:
- Diese URL ist nicht festgelegt, was die Einheiten für das dritte Argument sind zu set_column.
- Ich kann keine Möglichkeit finden, die Breite des Elements zu messen, das ich in die Zelle einfügen möchte.
- xlsxwriter scheint keine Methode zum Zurücklesen einer bestimmten Zelle zu haben. Dies bedeutet, dass ich jede Zellenbreite verfolgen muss, während ich die Zelle schreibe. Es wäre besser, wenn ich einfach alle Zellen durchlaufen könnte, so könnte eine generische Routine geschrieben werden.
eine Auto-Breite nicht so einfach ist, zu setzen Versuch. Glyphenbreiten hängen von der Schriftart ab. Und was, wenn Sie Gleichungen in eine Zelle schreiben? Dann können Sie nicht die Breite einer Zelle basierend auf dem, was Sie in es schreiben, sagen. Die Einheiten sind willkürlich, das ist richtig, aber es gibt eine tatsächliche Definition! Eine Einheit nähert die Breite eines Zeichens in der Standardschrift an. Siehe https://support.microsoft.com/en-us/kb/214123 –
Verwandte Frage zu xlwt (der Gesamtansatz wäre für XlsxWriter der gleiche; obwohl Sie wahrscheinlich die Breiten für Calibri 11 anstelle von Arial 10 möchten) : http://stackoverflow.com/questions/6929115/python-xlwt-accessing-existing-cell-content-auto-adjust-column-width/23946840 –