我想创建一个执行数据库查询的闪亮应用。 (简单)的想法是创建一个表,在列上应用条件格式并允许报告的表保存到excel。我尝试了不同的解决方案,但使用数据表下载按钮似乎是最方便的。
经过大量搜索后,我设法应用了一个下载按钮(来自github的更新的dt-package),并在shiny-app的浏览器显示中应用了一个特定的格式(formatStyle)。这将允许我将来为唯一列应用条件格式。但是,使用保存按钮时,此格式会在保存的文件中丢失(请参阅下面的代码片段)。
根据我的理解,原因是formatStyle函数仅在数据表调用之后应用。有没有办法提前应用formatStyle函数?创建resulttab-object的原因是,formatStyle-function应用于由其名称选择的特定列,而tabelle-function则在闪亮的reactive-environment中生成。
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')
})
答案 0 :(得分:1)
带有选项excel的数据表的Export-Button显然是一个包装的csv-export。因此无法导出格式。我的解决方法现在使用shiny-Export-Button和XLConnect包。
我找不到在浏览器中显示工作簿(通过downloadHandler中的XLConnect创建)的解决方案。因此,我将使用renderDataTable函数而不对浏览器显示进行格式化,因为在不同的包中定义两次(多种)格式化条件是不可行的。