2016-05-17 81 views
3

我想創建一個閃亮的應用程序來執行數據庫查詢。 (簡單)的想法是創建一個表格,在列上應用條件格式並允許報表保存爲excel。我嘗試了不同的解決方案,但使用數據表下載按鈕似乎是最方便的。R數據表條件帶條件格式的按鈕

經過廣泛的搜索,我設法應用下載按鈕(從github更新dt-package)並在shiny-app的瀏覽器顯示中應用特定的格式(formatStyle)。這將允許我將來爲唯一列應用條件格式。但是,使用保存按鈕時,此格式會在保存的文件中丟失(請參閱下面的代碼片段)。

在我的理解中,原因是formatStyle函數僅適用於數據表調用之後。有沒有辦法在早些時候應用formatStyle函數?創建resulttab對象的原因是,formatStyle函數應用於通過名稱選擇的特定列,而tabelle函數是在閃亮的反應環境中生成的。

output$tab <- DT::renderDataTable({ 
    resulttab <- tabelle() 
    datatable(resulttab, extensions = 'Buttons', options = list(
     dom = 'Bfrtip', 
     buttons = 
     list('copy', 'print', list(
      extend = 'collection', 
      buttons = list(list(extend='csv', 
           filename = 'blBericht'), 
         list(extend='excel', 
           filename = 'blBericht'), 
         list(extend='pdf', 
           filename= 'blBericht')), 
      text = 'Download')))) %>% formatStyle('Tribrommethan', color = 'red', backgroundColor = 'orange', fontWeight = 'bold') 
     }) 

回答

1

具有選項excel的datatables的Export-Button顯然是一個包裝的csv-export。因此格式不能導出。我的解決方法是使用shiny-Export-Button和XLConnect軟件包。

我找不到在瀏覽器中顯示工作簿(通過downloadHandler中的XLConnect創建)的解決方案。因此,我將使用一個renderDataTable函數,而無需爲Browser-display進行格式化,因爲在不同的包中定義兩次(多個)格式條件是不可行的。

+0

您可以在哪裏調用formatStyle並輕鬆條件格式化數據表?我正在尋找一個輕鬆做到這一點的功能,任何幫助將不勝感激 – AbeeCrombie