问题描述
我有以下代码允许我在 Excel 中下载数据表。下面我禁止行名称。但是,是否可以仅抑制下载中的行名称?当我在 Shiny 中查看表格时,我仍然希望它们出现。
format_fixed_table <- function(input_data,file_name){
result <- datatable(input_data,extensions = 'Buttons',rownames= FALSE,options = list(dom = 'Bfrtip',scrollX = TRUE,lengthMenu = c(10,20,50),pageLength = 10,buttons = list(list(extend='excel',filename=file_name)),))
}
解决方法
行名称的列是第 0 列。您可以使用 columnDefs
选项为此列分配一个类,例如rownames
,并使用 exportOptions
选项选择没有此类的列,使用 :not
选择器:
library(DT)
datatable(
iris[1:5,],extensions = 'Buttons',rownames= TRUE,options = list(
dom = 'Bfrtip',columnDefs = list(
list(
targets = 0,className = "rownames"
)
),buttons = list(
list(
extend = 'excel',filename = "XLSXFILE",exportOptions = list(
columns = ":not(.rownames)"
)
)
)
)
)