[問題] Shiny output(搭配XLConnect)

作者: brian80122 (Cevi)   2016-12-12 12:38:42
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
目前使用shiny server搭配XLConnect套件產生excel檔(xls或xlsx)讓使用者下載
當資料太大的時候沒辦法正常下載(ex.20萬rows)
已知原因:xls最多只能放置65536筆rows(參考:https://goo.gl/QOXHH)
xlsx則out of memory(推測,點下載後45秒回傳頁面
"server無回傳任何資料")
目前想到的解法:1.分檔下載
2.將檔案存在server作為temp 再傳輸給使用者
3.直接使用csv格式,但要解決編碼問題
[程式範例]:若有需要再補上
[環境敘述]:
unbuntu 16G memary
sesionInfo():
R version 3.3.0 beta (2016-03-30 r70404)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
[關鍵字]:shiny XLConnect
謝謝各位
選擇性,也許未來有用
作者: cywhale (cywhale)   2016-12-12 13:17:00
超過xls限制也只能放棄不是?csv/txt, subdivide and zip
作者: brian80122 (Cevi)   2016-12-12 14:19:00
是的 xlsx是可以放入但是沒辦法克服記憶體我會用你給的關鍵字去研究 感謝
作者: cywhale (cywhale)   2016-12-12 14:49:00
就在downloadHandler(..,content <- function(file) {zip(file, files=c("你切開的檔案1","file2",..)) })
作者: brian80122 (Cevi)   2016-12-12 15:09:00
好的 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com