最终产品是一个包含 250 多列的 Excel CSV 电子表格。 我想知道是否有办法从 R 确定 Excel 中的列宽?
我正在使用 write.csv2,它在 excel 中产生的列宽都等于 8,43。
write.csv2(df, na = "", file= "Final.csv")
如果可能的话,我正在寻找一种技巧来一次改变所有这些或只改变特定的。 是 running VBA from R我唯一的选择?
感谢您的帮助!
最佳答案
请查看包裹xlsx .我用它来生成excel文件,它非常好。有一个方法 setColumnWidth 可以帮助你。查看 here有关 xlsx 包功能的更详细示例。
所以这是一个使用包 xlsx
的工作示例。
df <- data.frame(matrix(rnorm(100),nc=10))
library(xlsx)
# must save as an xls or xlsx file...
write.xlsx(df,"Final.xlsx", row.names=FALSE)
# load it back
wb <- loadWorkbook("Final.xlsx")
sheets <- getSheets(wb)
# set widths to 20
setColumnWidth(sheets[[1]], colIndex=1:ncol(df), colWidth=20)
saveWorkbook(wb,"Final.xlsx")
# autosize column widths
autoSizeColumn(sheets[[1]], colIndex=1:ncol(df))
saveWorkbook(wb,"Final.xlsx")
https://stackoverflow.com/questions/27322110/