我有一个多行单元格的表格,在屏幕上显示正常,但我不能将相同的格式保存到PDF或Excel文件中。
here描述的解决方案使用了(a)一个外部应用程序(但我可能无法在www.example.com中使用它shinyapps.io)和(b)还引用了kable(但引用链接不保存到PDF文件中),我猜一定有比依赖这样的应用程序鸡尾酒更简单的解决方案。
我在下面包含了一个reprex,它有两个按钮可以将表格保存为PDF。第一个按钮我尝试了一个相当标准的过程,使用 DT,另一个按钮我尝试了 huxtable。这两个按钮在创建PDF时都产生了相同的结果,即没有多行和额外的格式(如粗体)。我希望在PDF中看到与屏幕上相同的格式。
顺便问一下,除了PDF之外,是否有可能有一个类似的解决方案(带有多行和格式)导出到Excel?毕竟,Excel允许在单元格内进行格式设置,它们也可以是多行。
谢谢
library(shiny)
library(DT)
library(huxtable)
data <- data.frame(
Name = c("Mr A", "Mrs B"),
Description = c("This is line 1.<br>Line 2.",
"This is another cell with line 1.<br>Line 2 has some <b>bold text</b>.")
)
ui <- dashboardPage(skin = "black",
dashboardHeader(disable = TRUE),
dashboardSidebar(disable = TRUE),
dashboardBody(DT::dataTableOutput("Table"),
br(),
actionButton("mytable_pdf", "huxtable PDF")
)
)
server <- function(input, output, session) {
output$Table <- DT::renderDataTable(data,
extensions = 'Buttons',
rownames = FALSE,
options = list(
paging = FALSE,
searching = TRUE,
fixedColumns = TRUE,
autoWidth = TRUE,
ordering = TRUE,
dom = '<Bt>',
pageLength=2,
buttons = 'pdf'),
# buttons = c('excel','pdf')),
escape = FALSE,
class = "display"
)
observeEvent(input$mytable_pdf, quick_pdf(data, file = "output.pdf"))
}
shinyApp(ui, server)
1条答案
按热度按时间rdrgkggo1#
这里是一个多行的解决方案(找到here)。它适用于PDF和Excel。对于粗体我完全不知道。