Stack Overflow 上的新手,所以请多多包涵 - 任何帮助或建议都将不胜感激!
我正在尝试将单个单元格样式应用于我使用 R 中的 write.xlsx 函数创建的整个 Excel 工作簿。我在网上查看过,我能想到的最好的方法是以下方法。
Reformat<-function(filename){
wb<-loadWorkbook(filename)
sheets<-getSheets(wb)
for (sheet in sheets){
rows<-getRows(sheet)
cells<-getCells(rows)
cs <- CellStyle(wb) +
Font(wb, heightInPoints=12,name="Calibri") +
DataFormat("#,##0") +
Alignment(h="ALIGN_CENTER")
invisible(lapply(c(1:length(cells)), function(i) setCellStyle(cells[[i]], cs)))
}
saveWorkbook(wb,filename)
}
然后将此函数应用于我之前生成的每个 xlsx 文件。
但是,这似乎在计算上非常昂贵,因为我相信它会循环每一行中的每个单元格,以及工作簿的每一页。这需要一些时间来运行一些较大的 Excel 电子表格,甚至一些中等大小的 (<1MB)。
有没有一种计算成本较低的方法来实现这一点?说等效于适用于整个工作表的 CellStyle?
提前致谢 - 任何意见/建议表示赞赏!
问候, Alch84