Я создаю приложение Shiny, в котором пользователи проходят опрос и на основе их ответов предлагают им различные шаблоны для использования. Все шаблоны представляют собой файлы Excel, сильно отформатированные (например, содержащие изображения, смещенные заголовки и т. д.), как на снимке экрана, который я загрузил здесь. К сожалению, stackoverflow не позволяет мне загрузить файл Excel, чтобы сделать его полностью воспроизводимым, но если вы можете запустить его с любым нетабличным файлом Excel, он будет работать. [![введите описание изображения здесь][1]][ 1]
Все эти шаблоны загружаются на сервер, и ввод пользователя не влияет на них. Я пробовал следовать примеру других, например [one][2], но постоянно получаю ошибки.
Как мне сделать так, чтобы когда пользователи нажимали кнопку загрузки, они получали файл excel точно так, как он выглядит?
library(readxl)
library(shiny)
library(writexl)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
),
mainPanel(
downloadButton("downloadData", "Download Fancy Excel File")
)))
server <- function(input, output) {
output$downloadData <- downloadHandler(
filename = function() {
paste("file", "xlsx", sep='')
},
content = function(file) {
myfile <- srcpath <- 'Home/Other Layer/Fancy Template.xlsx'
file.copy(myfile, file)
}
)
}
# Run the application
shinyApp(ui = ui, server = server)
~~~~
[1]: https://i.stack.imgur.com/FK034.png
[2]: https://stackoverflow.com/questions/39449544/shiny-download-an-excel-file