#r #openxlsx
#r #openxlsx
Вопрос:
Я хочу использовать openxlsx для изменения отдельной ячейки на листе рабочей книги и записать ее обратно как тот же .xlsx без потери стиля, проверки и т. Д. Исходного файла .xlsx. Я указываю openxlsx, потому что у него нет зависимости от rJava.
Вот фиктивная рабочая книга:
library(openxlsx)
## Make a dummy workbook to read in
write.xlsx(list(iris = iris, mtcars = mtcars), file = 'test.xlsx')
wb <- loadWorkbook('test.xlsx')
isS4(wb)
Как я могу изменить значение ячейки [2,1], чтобы оно по существу было идентично исходному файлу .xlsx, но с измененной ячейкой?
Я, конечно, могу читать в рабочей книге, но я не знаю, какая мне от этого польза.
m <- readWorkbook(wb)
m[2, 1] <- 20
m[1:5,]
Ответ №1:
writeData может помочь вам в этом.
test.fpath <- 'test.xlsx'
openxlsx::write.xlsx(list(iris = iris, mtcars = mtcars), file = test.fpath)
.wb <- openxlsx::loadWorkbook(test.fpath)
openxlsx::writeData(
wb = .wb,
sheet = 1,
x = 20,
xy = c(2,1)
)
openxlsx::saveWorkbook(
.wb,
test.fpath,
overwrite = TRUE
)