tablas - Botón de tabla de datos R con formato condicional
tablas de datos en r (1)
Quiero crear una aplicación brillante que realice una consulta de base de datos. La idea (simple) es crear una tabla, aplicar formato condicional en las columnas y permitir que la tabla informada se guarde en Excel. Probé con diferentes soluciones, pero el uso de un botón de descarga de tabla de datos me pareció el más conveniente.
Después de una búsqueda exhaustiva logré aplicar un botón de descarga (dt-package actualizado de github) y aplicar un formato específico (formatStyle) en la pantalla del navegador de la aplicación brillante. Esto me permitirá en el futuro aplicar formato condicional para las columnas únicas. Sin embargo, al usar el botón Guardar, este formato se pierde en el archivo guardado (ver fragmento de código a continuación).
En mi entender, la razón de esto es que la función formatStyle solo se aplica después de la datatable-call. ¿Habría alguna forma de aplicar la función formatStyle antes? La razón para crear el resulttab-object es que formatStyle-function se aplica a columnas específicas seleccionadas por sus nombres, mientras que la función tabelle se genera en el brillante entorno reactivo.
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'')
})
El botón Exportar de tablas de datos con la opción excel aparentemente es una exportación csv envuelta. Por lo tanto, el formateo no se puede exportar. Mi solución ahora es usar el brillante-Export-Button y el paquete XLConnect.
No pude encontrar una solución para mostrar el libro de trabajo (creado a través de XLConnect en el gestor de descargas) en el navegador. Por lo tanto, utilizaré una función renderDataTable sin formatear para Browser-display, ya que definir las (numerosas) condiciones de formato dos veces en diferentes paquetes no es viable.