2016-05-17 6 views
3

データベースクエリを実行する光沢のあるアプリケーションを作成したいと思います。 (簡単な)アイデアは、表を作成し、列に条件付き書式を適用し、報告された表をExcelに保存できるようにすることです。私はさまざまなソリューションを試しましたが、datatableのダウンロードボタンの使用が最も便利だったようです。条件付き書式付きのデータ可能ボタン

広範な検索の後、ダウンロードボタン(githubから更新されたdt-package)を適用し、特定のフォーマット(formatStyle)をshiny-appのブラウザ表示に適用することができました。これにより、将来私はユニークな列に条件付き書式を適用することができます。ただし、保存ボタンを使用すると、この書式は保存されたファイルで失われます(下記のコード部分を参照)。

この理由は、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が明らかに包まれたCSV-輸出でオプション付きのDataTableの輸出ボタン。したがって、書式設定はエクスポートできません。私の回避策は、光沢のあるエクスポートボタンとXLConnectパッケージを使用しています。

ブラウザ(downloadHandlerのXLConnect経由で作成されたブック)を表示するソリューションが見つかりませんでした。したがって、ブラウザの表示用にフォーマットせずにrenderDataTable関数を使用します。異なるパッケージで2回(多数の)書式設定条件を実行可能でないと定義するためです。

+0

ここで、formatStyleを呼び出すことができ、簡単にデータテーブルを条件付きでフォーマットできますか?私は簡単にそれを行うための機能を探しています、どんな助けもありがとう – AbeeCrombie