我正在尝试使用openxlsx
包将一些表从R导出到Excel,并且我使用以下命令来自动调整列宽:
setColWidths(Workbook,Worksheet, cols = 1:9, widths = "auto")
宽度正在变化,但它们有点太短,有些文字正在切断。我已经检查了Excel文件,它似乎是四舍五入到最接近的整数。
有没有办法修复openxlsx
中的“自动”列宽?我已经尝试检查源代码,但我不太了解它。或者除了必须为每列手动设置宽度之外还有其他选择吗?
答案 0 :(得分:0)
我正在使用此功能:
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 +空格字符)。功能需要更多细节