Sure. Abbreviated to interesting sections:
The HTML string:
tags$head(tags$style(HTML('#Fine_ABG table {border-collapse:collapse;}
#Fine_ABG table td {width: 5px;padding:0px;}
#Fine_ABG table th {
height: 100px;
transform: translate(-10px, -5px) rotate(290deg);
padding:0px;
}
#Fine_ABG table td:nth-child(1){width: 150px;}
#Fine_ABG table td:nth-child(2){width: 80px;}
')))
And the renderTable call:
output$Fine_ABG <- renderTable(
{
DisplayFine_cAST(
Fine_cAST(),
input$Drugs,
input$USE_OTHERS
)
},
type = "html",
digits = 0
)
produces this:

Reducing width on the second column beyond 60px forces the text onto two lines, which isn't acceptable, and I reducing the default width below 10px (even though I have it at 5px) doesn't get the last few columns any closer.
I've also tried to use shiny's renderDataTable, and that doesn't even produce produce output, and as far as I can tell doesn't allow for an option to rotate the column headers.