如何在xlsx中编写和修改单元格的格式

运行这个代码之后

library(XLConnect) template <- loadWorkbook ( filename = "template.xlsx" , create = T ) createSheet ( template , c("sheet1","sheet2") ) # setStyleAction(template,XLC$"STYLE_ACTION.NONE") Data <- data.frame( a = 1:10, b = 11:20 ) setDataFormatForType(template, type = XLC$DATA_TYPE.NUMERIC, format = "0.00" ) # list22$`Brand Equity` <- as.numeric(list22$`Brand Equity`) # list22$`Purchase Intent` <- as.numeric(list22$`Purchase Intent`) csHeader <- createCellStyle(template, name = "header10") setFillPattern(csHeader, fill = XLC$BORDER.DOUBLE) setFillForegroundColor(csHeader, color = XLC$COLOR.DARK_RED) # setCellFormula(object = template, sheet = (paste0("sheet",i)), row = c(2:4),col = c(1:3), formula = ) setCellStyle(template, sheet = "sheet1", row = 1, col = c(1:2), cellstyle = csHeader) setCellStyle(template, sheet = "sheet2", row = 1, col = c(1:2), cellstyle = csHeader) for (i in 1:2) { setColumnWidth(template, sheet = (paste0("sheet",i)), column = c(1:3), width = 15800) writeWorksheet ( template , data = Data, sheet = (paste0("sheet",i)), startRow = 1 , startCol = 1 , header = TRUE ) } saveWorkbook ( template ) 

我得到了 在这里输入图像说明

在这里输入图像说明

它似乎没有通过我关于单元格的颜色的论点。 有任何想法吗 ? 而且有没有办法用百分比来写变换数字呢? 所以1例如是100%,2是200%等等…

为了将数字转换成百分比,你可以写一个类似于这个的函数:

 addformatperc<-function(num,roundlevel){ betternum<-paste(prettyNum(round(num*100,roundlevel),big.mark = ","),"%",sep="") return(betternum) } #Output addformatperc(1,0) [1] "100%"