2017-08-24 58 views
1

XLconnect包(或任何其它包中R)濾波列,是否有可能在他們的headers以讀取Excel片顏色以及基於這些顏色在R過濾他們?řXLConnect - 基於列的顏色

例如是column headers對於A, C & E填充綠色,並且在讀入R之後,是否可以根據該顏色對它們進行過濾?

感謝

回答

1

是的,我相信它是:讀給R ,使用xlsx包解壓:

library(xlsx) 
wb  <- loadWorkbook("test.xlsx") 
sheet1 <- getSheets(wb)[[1]] 

比得到的行和單元格:

# get all rows 
rows <- getRows(sheet1) 
cells <- getCells(rows) 
# quick look at the values 
sapply(cells, getCellValue) 
# 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 
# "x" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" 

現在在哪裏顏色信息?它是在cell style

styles <- sapply(cells, getCellStyle) 

現在的功能給你的細胞RGB值:

注:以下行給予細胞背景顏色style$getFillForegroundXSSFColor()

cellColor <- function(style) { 
    fg <- style$getFillForegroundXSSFColor() 
    rgb <- tryCatch(fg$getRgb(), error = function(e) NULL) 
    rgb <- paste(rgb, collapse = "") 
    return(rgb) 
} 

想了解更多信息?去here

+1

真棒是我的迴應! – user1703914

+0

沒問題:-)請不要忘記挑選答案:-D – BlooB

+1

不幸的是我的聲望還不到15!真的很抱歉 – user1703914