Here is one approach using the openxlsx package.
library(purrr)
library(openxlsx)
DF1 <- data.frame(Name=c("A","B","C"),Value=1:3)
DF2 <- data.frame(Number=1:4,T_F=c("TRUE","FALSE","FALSE","TRUE"),
State=c("NY","NE","UT","ME"))
DF3 <- data.frame(ID=1:10)
DF4 <- data.frame(Date=c("2020-02-13","2022-09-08"),Type=c("X","E"),
Cost=c(4,1),Open=c("N","Y"))
DFlist <- list(DF1,DF2,DF3,DF4)
Rows <- map_dbl(DFlist,nrow)+2 #add 1 for the header and 1 for a spacer row
CumRows <- cumsum(Rows)
WriteRows <- c(1,CumRows[1:length(CumRows)-1]+1)
wb <- createWorkbook()
addWorksheet(wb,"MainSheet")
WriteFunc <- function(DF,ROW) writeData(wb,"MainSheet",DF,startRow = ROW)
walk2(DFlist, WriteRows, .f = WriteFunc)
saveWorkbook(wb, file = "Test.xlsx")