XL Connect with R Shiny에서 Excel 파일 다운로드
R Shiny에서 다운로드 핸들러를 사용하여 XLConnect로 새로 만든 엑셀 파일을 다운로드해 본 사람이 있습니까?
UI에서.R에는 주목할 만한 선이 없습니다.
downloadButton('downloadData', 'Download')
서버에서.처리자가 있습니다.
output$downloadData <- downloadHandler(
filename = function() { "output.xlsx" },
content = function(file){
wb <- loadWorkbook(file, create = TRUE)
createSheet(wb, name = "Sheet1")
writeWorksheet(wb, c(1:3), sheet = "Sheet1") # writes numbers 1:3 in file
saveWorkbook(wb)
}
)
저는 .csv를 다운받는데 문제가 없고 XLConnect로 엑셀 파일을 만드는 데 문제가 없습니다.그러나 위와 같이 코드를 실행하면 Chrome 브라우저에서 다음과 같은 오류가 발생합니다.
불법 논변예외(자바):파일 확장명 "file1b683b9323bc"는 지원되지 않습니다!*.xls 및 *.xlsx만 사용할 수 있습니다!
제가 보기에 XLConnect는 임시 파일에 쓸 수 없습니다.
해결책이나 해결책이 있는 사람?
한 가지 방법은 특정 위치에 파일을 저장한 다음 해당 파일을 가리키는 다운로드 링크를 만드는 것입니다.하지만, 이것은 여러 사용자들이 하복을 야기할 수 있기 때문에 그다지 빛나는 것 같지는 않습니다.
대단히 고맙습니다
마커스
이것을 사용해 보십시오.content(...)
기능; 나한테 효과가 있어요...
content = function(file){
fname <- paste(file,"xlsx",sep=".")
wb <- loadWorkbook(fname, create = TRUE)
createSheet(wb, name = "Sheet1")
writeWorksheet(wb, c(1:3), sheet = "Sheet1") # writes numbers 1:3 in file
saveWorkbook(wb)
file.rename(fname,file)
}
문제는.file
는 확장자가 없는 임의로 생성된 임시 파일인 반면saveWorkbook(...)
필요한 것은.xlsx
내선그래서 이것은 그냥 추가됩니다..xlsx
로.file
그리고 모든 XL Connect 조작에 대해 이를 사용한 다음 최종 파일의 이름을 원래 이름으로 바꿉니다(예: 확장자를 제거).
언급URL : https://stackoverflow.com/questions/21383748/downloading-excel-file-from-xlconnect-with-r-shiny
'programing' 카테고리의 다른 글
Mariadbin Centos 7을 사용한 INNER JOIN 사용자, 데이터베이스 및 데이터베이스 크기 (0) | 2023.09.24 |
---|---|
iOS에서 다크 모드를 확인하는 방법은? (0) | 2023.09.24 |
Spring MVC에서 요청 파라미터에 대한 날짜 전달 (0) | 2023.09.24 |
스크롤을 비활성화한 웹사이트에서 스크롤을 보편적으로 활성화하는 방법은? (0) | 2023.09.24 |
선택 쿼리 MySQL, Bego에서 특정 ID의 합을 선택하는 방법 (0) | 2023.09.24 |