R 更改openxlsx工作簿中的单元格值

R 更改openxlsx工作簿中的单元格值,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 <- loadWorkboo

我想使用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)
库(openxlsx)
##制作一个虚拟工作簿以便阅读
write.xlsx(列表(iris=iris,mtcars=mtcars),文件='test.xlsx')

wbwriteData可以帮助您解决这一问题

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
)
test.fpath
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
)