...
library(rpivotTable)
library(dplyr)
library(readr)
library(shiny)
library(openxlsx)
#ui
ui = fluidPage(
radioButtons(inputId="format", label="Enter the format to download",
choices=c("none", "csv", "excel", "pdf", "copy"), inline = FALSE, selected="none"),
fluidRow( rpivotTableOutput("pivot")))
#server
server = function(input, output, session) {
output$pivot <- renderRpivotTable( rpivotTable::rpivotTable( rows = c(
"vs"),cols=c("carb"),vals = "mpg", aggregatorName = "Sum",rendererName =
"Table",width="50%", height="550px",
{
data <- mtcars
if(input$format =="csv") {
write_csv( data, 'data.csv')
}
if (input$format=="excel") {
write.xlsx(data, "data.xlsx")
}
data
}))
}
shinyApp(ui = ui, server = server)