我正在尝试使用openxlsx包将一些表格从R导出到Excel,并使用以下命令自动调整列宽:
setColWidths(Workbook,Worksheet, cols = 1:9, widths = "auto")宽度正在改变,但它们稍微太短了,一些文本被截断了。我检入了Excel文件,它似乎四舍五入为最接近的整数。
有没有办法修复openxlsx中的“自动”列宽?我试着检查了源代码,但我不太理解它。或者,除了手动设置每一列的宽度之外,是否还有其他选择?
发布于 2018-11-02 21:46:44
我正在使用这个函数:
colExcelAutofit <- function(df, size, n = 50, span = 2) {
defaultsize <- 12
# multiplier depende de tipo de fuente {1.61803 número de oro, 2, o un número del 1 al 2}
multiplier <- 1.61803 # número de oro.
width_vec <- apply (
head (df, n), 2,
function(x) max (nchar (as.character (x)) + span, na.rm = TRUE)
)
width_vec_header <- nchar (colnames (df)) + span
max_vec_header <- pmax (width_vec, width_vec_header)
return (max_vec_header * multiplier ^ ((size - defaultsize) / 2))}字体:
https://blog.envylabs.com/responsive-typographic-scales-in-css-b9f60431d1c4
但是我对列样式添加的额外字符(例如: currency +空格字符)有问题。函数需要更多详细信息
https://stackoverflow.com/questions/42271557
复制相似问题