openxlsx错误:行和列的长度必须相等

D. *_*ods 10 excel r openxlsx

我遇到了这个 Nabble用户在尝试使用非矩形行和列集将样式应用于Excel工作簿时遇到的相同问题.

wb <- createWorkbook()
addWorksheet(wb, "Iris")
writeData(wb, sheet = 1, x = iris)
boldStyle <- createStyle(textDecoration=c("bold"))
addStyle(wb, 1, style = boldStyle, cols=4:5, rows = 1:150)
Run Code Online (Sandbox Code Playgroud)

addStyle出错(wb,1,style = boldStyle,cols = 4:5,rows = 1:150,:行和列的长度必须相等.

如何修复此代码,以便我不会收到错误,以便我可以将样式应用于非矩形单元格集?

D. *_*ods 14

addStyle的一个参数默认gridExpand,设置为FALSE.要做到这一点的技巧就是将此参数设置为.TRUE. 这允许函数将样式应用于提供的行和列的组合.

用这个替换最后一行,它应该工作正常:

addStyle(wb, 1, style = boldStyle, cols=4:5, rows = 1:150, gridExpand = T)
Run Code Online (Sandbox Code Playgroud)