У меня есть такие данные
df<-structure(list(X = structure(3:1, .Label = c("CQLSKGQSYSVNVTFTSNIQSKSSKAVVHGILMGVP",
"KLALQLHPDRNPDDPQAQEKFQDLGAAYEVLSDSEKRKQYD", "MVEAIVEFDYQAQHDDELTISVGEIITNIRKEDGGWW"
), class = "factor")), class = "data.frame", row.names = c(NA,
-3L))
Я пытаюсь выделить букву D в каждой строке, а затем сохранить ее в формате xlsx.Я попытался использовать это Excel Cell Coloring, используя xlsx
library(xlsx)
# To export the data
sheetname <- "mysheet"
write.xlsx(d, "mydata.xlsx", sheetName=sheetname)
file <- "mydata.xlsx"
# I want to color special letters in one cell
wb <- loadWorkbook(file) # load workbook
fo1 <- Fill(foregroundColor="blue") # create fill object # 1
cs1 <- CellStyle(wb, fill=fo1) # create cell style # 1
sheets <- getSheets(wb) # get all sheets
sheet <- sheets[[sheetname]] # get specific sheet
rows <- getRows(sheet, rowIndex=2:(nrow(df)+1)) # get rows
# 1st row is headers
cells <- getCells(rows, colIndex = 2:cols) # get cells
values <- lapply(cells, getCellValue) # extract the cell values
Затем мы находим букву, которую нужно выделить
# find cells meeting conditional criteria D
highlightblue <- NULL
for (i in names(values)) {
x <- as.character(values[i])
if (x == D && !is.na(x)) {
highlightblue <- c(highlightblue, i)
}
}
применить форматирование и сохранитьРабочая тетрадь.
lapply(names(cells[highlightblue]),
function(ii) setCellStyle(cells[[ii]], cs1))
saveWorkbook(wb, file)
Однако я не могу понять, как раскрасить букву внутри ячейки.