我正在尝试将两个不同的数据框导出到R Shiny的同一excel工作簿中的两个表中。我尝试了许多不同的解决方案,但似乎无济于事。
output$downloadData <- downloadHandler(
filename = "My_File.xlsx",
content = function(file) {
wb = createWorkbook()
addWorksheet(wb, "Sheet 1")
addWorksheet(wb, "Sheet 2")
writeData(wb, "Sheet 1", exportData(), startCol = 1, rowNames = FALSE)
writeData(wb, "Sheet 2", ALEGR(), startCol = 1, rowNames = FALSE)
saveWorkbook(wb, "My_File.xlsx")
}
)
给出404未找到错误。
output$downloadData <- downloadHandler(
filename = "test.xlsx",
content = function(file) {
write.xlsx(exportData(), file, sheetName="sheet1", row.names=FALSE)
write.xlsx(ALEGR(), file, sheetName="sheet2", append=TRUE, row.names=FALSE)
}
)
仅将ALEGR()
数据框保存为“ Sheet2”,不保存为“ Sheet1”。
对于我来说,无论是.csv还是.xlsx都不重要,但是我似乎都无法使用。简而言之,我希望exportData()
位于同一工作簿的sheet1上,而ALEGR()
位于同一工作簿的sheet2上。
谢谢!
答案 0 :(得分:0)
这应该可以通过library(xlsx)
实现:
output$downloadData <- downloadHandler(
filename = "My_File.xlsx",
content = function(file) {
wb <- createWorkbook()
sheet_1 <- createSheet(wb, "exportData()")
sheet_2 <- createSheet(wb, "ALEGR()")
addDataFrame(
exportData(),
sheet = sheet_1,
row.names = FALSE
)
addDataFrame(
ALEGR(),
sheet = sheet_2,
row.names = FALSE
)
saveWorkbook(wb, file)
}
)