2017-08-24 3 views
2

Wie kann ich die Spaltenbreite mit automatisch anpassen?R - Autofit Excel Spaltenbreite

Einer meiner Spalten hat eine Datumsvariablen (zB. 21-08-2017) und kopiert, wenn ctrl+c von Excel verwenden und normalerweise an anderer Stelle eingefügt, es zeigt, wie ####### (wenn Spaltenbreite den Inhalt in Excel zu zeigen, erhöht wird, ist es normalerweise Pasten). Ich möchte diese Wiederholungsaufgabe in meinen Code integrieren. Hier ist, was ich jetzt bin mit:

WB <- loadWorkbook(File) 
addWorksheet(WB, Sheet) 
writeDataTable(WB, Sheet, DF, withFilter=F, bandedRows=F, firstColumn=T) 
saveWorkbook(WB, File, overwrite =TRUE) 

ich den ganzen relevanten Code hier angeschlossen habe, habe ich auch die bedingte Formatierung tue basierend auf den Tabellenwerten. Bitte schlagen Sie eine Möglichkeit vor, um die Autofit-Spaltenbreite hier zu integrieren.

EDIT: standardmäßig XLSX- Ausgänge von R haben den Standard 8,43 column, mag ich es entweder setzen, wie per Zellinhalt automatisch anpassen, oder stellen sie manuell für jede Spalte.

To Mod: Dies ist ein Problem, das ich versuche, in R zu lösen, mit openxlsx. Wie auch immer, danke für die Aufmerksamkeit.

Antwort

3

Ok, ich habe es nach einer weiteren ausführlichen Suche in der Dokumentation bekommen. Es scheint nur sehr wenige Menschen dies tatsächlich online von den Mangel an Lösungen verwenden ...

setColWidths(WB, Sheet, cols = 1:ncol(DF), widths = "auto") 

Dies ist jedoch noch nicht das gewünschte Ergebnis nicht geben, die Datumsspalte ist immer noch ein wenig zu kurz und zeigt ########; während die Spaltenüberschriften nicht passen (wie sie formatiert sind fett).

EDIT:

Schließlich wählte c(7.5, 10, "auto", ...) hinzufügen ersetzen nur "auto", ist es nicht völlig dynamisch, aber löst das Problem für den Moment. Hoffe, bessere Antworten zu sehen.