2017-01-03 24 views
1

的格式運行此代碼如何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) 

我獲得enter image description here

enter image description here

它似乎並沒有經過什麼顏色我的論點之後的細胞。有任何想法嗎 ?此外,有沒有一種方法可以用百分比來編寫轉換數字?因此,1例如是100%,2是200%等等

+0

看起來你需要**首先**將數據寫入單元格,**然後**將單元格樣式設置爲任何你想要的。目前,您可以很好地設計單元格樣式,然後使用XLConnect的'writeWorksheet()'默認樣式覆蓋它們。換句話說,在你調用'setDataFormat()'之後移動'for'循環。 –

回答

0

轉換用的數字爲百分數,你可以寫類似這樣一個功能:

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