使用openxlsx导入Excel文档会切断列

时间:2017-02-16 10:42:22

标签: r excel

我正在尝试使用openxlsx包将一些表从R导出到Excel,并且我使用以下命令来自动调整列宽:

setColWidths(Workbook,Worksheet, cols = 1:9, widths = "auto")

宽度正在变化,但它们有点太短,有些文字正在切断。我已经检查了Excel文件,它似乎是四舍五入到最接近的整数。

有没有办法修复openxlsx中的“自动”列宽?我已经尝试检查源代码,但我不太了解它。或者除了必须为每列手动设置宽度之外还有其他选择吗?

1 个答案:

答案 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 +空格字符)。功能需要更多细节