setCellStyle - 使用XLConnect将单元格样式(百分比)应用于矩阵

时间:2015-02-12 14:08:50

标签: r row col xlconnect rep

我的问题是基于上一个问题Formatting of numbers using Mirai's XLConnect中提到的问题。我无法从@joran实现此解决方案,我想我可能不是唯一遇到此问题的人。

我想将相关矩阵(10x10)导出为ex​​cel。它被保存为一个名为export的矩阵。

library(XLConnect)
wb <- loadWorkbook(paste0("corr_test.xlsx"), create = TRUE)
prcntg <- createCellStyle(wb)
setDataFormat(prcntg, format = "0.00%")
createSheet(wb, name="corr")
writeWorksheet(wb,export,"corr",startRow = 2, startCol = 1, header = TRUE)
setColumnWidth(wb, sheet = "corr", column = 1:30, width = -1)
setCellStyle(wb, sheet = "corr", row= rep(3:12,times=10), col = rep(1:10,     
+times=12), cellstyle = prcntg)
saveWorkbook(wb)

我遇到这条线的问题

setCellStyle(wb, sheet = "corr", row= rep(3:12,times=10), col = rep(1:10,     
+times=12), cellstyle = prcntg)

我无法将样式应用于整个矩阵。它是关于 row col 的参数引起麻烦的。

结果如下图所示。

Output xls

我现在尝试了无穷无尽的组合。任何帮助都非常感谢

1 个答案:

答案 0 :(得分:3)

以下应该这样做:

rc = expand.grid(row = 3:12, col = 1:10)
setCellStyle(wb, sheet = "corr", row= rc$row, col = rc$col, cellstyle = prcntg)