我正在尝试将两个不同的数据帧导出到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)
}
)
仅使用“Sheet2”保存ALEGR()
数据帧,不保存“Sheet1”。
如果它是.csv或.xlsx,对我来说并不重要,但我似乎无法工作。简单地说,我希望exportData()
在sheet1上,而ALEGR()
在同一工作簿的sheet2上。
谢谢!
这应该可以通过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)
}
)