通过xlsx更新excel并通过libreoffice打印pdf。但内容不会得到更新

通过xlsx更新excel并通过libreoffice打印pdf。但内容不会得到更新,r,pdf-generation,libreoffice-calc,R,Pdf Generation,Libreoffice Calc,我在R中使用xlsx包更新excel模板,然后在R中使用system命令将其写入pdf。在system命令中,我使用libreoffice calc(类似于excel)。但是,如果我打开文件,我使用R进行的更新将在文件中更新。但是pdf没有打印它 在本例中,是一个带有两个选项卡的excel工作表,需要打印第二个选项卡 library(xlsx) wb<-loadWorkbook("chk.xlsx") sheets <- getSheets(wb) sheet2 <- shee

我在R中使用xlsx包更新excel模板,然后在R中使用system命令将其写入pdf。在system命令中,我使用libreoffice calc(类似于excel)。但是,如果我打开文件,我使用R进行的更新将在文件中更新。但是pdf没有打印它

在本例中,是一个带有两个选项卡的excel工作表,需要打印第二个选项卡

library(xlsx)
wb<-loadWorkbook("chk.xlsx")
sheets <- getSheets(wb)
sheet2 <- sheets[["Sheet1"]]
a=c(1:5)
b=c(6:10)
x <- as.data.frame(cbind(a,b))
addDataFrame(x, sheet2, startRow=2, startColumn=1,col.names=F, row.names=F)

wb$setForceFormulaRecalculation(TRUE)
#setForceFormulaRecalculation(wb,"data",TRUE)

saveWorkbook(wb, "chk.xlsx")
system(paste0("libreoffice --convert-to pdf chk.xlsx")) # empty pdf
#system(paste0("libreoffice --headless --convert-to pdf chk.xlsx")) # empty pdf
#system(paste0("libreoffice --headless --invisible --convert-to pdf chk.xlsx")) # empty pdf

最后,我把它解决了

excel中的公式不会在LibreOffice中自动更新。所以,你必须这样做

Toos>选项>LibreOfficeCalc>公式>文件加载时重新聚集

将此设置为“始终重新计算”。(尽管最好通过命令行进行设置)

 libreoffice --headless --convert-to pdf chk.xlsx