You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Shiny应用下载的Excel文件 新增下载当日日期列Todayday

解决方法

你只需要修改output$dl对应的下载处理逻辑,在导出前给数据集新增Todayday列即可,分两种场景对应修改代码:

单表导出场景(你最初提供的可运行代码版本)

直接替换原output$dl代码为以下内容:

output$dl <- downloadHandler(
  filename = function() { "data.xlsx"},
  content = function(file) {
    export_data <- data_subset()
    # 新增下载日期列,格式为日/月
    export_data$Todayday <- format(Sys.Date(), "%d/%m")
    writexl::write_xlsx(export_data, path = file)
  }
)

多表导出场景(你当前在用的多sheet导出版本)

替换对应output$dl代码为以下内容,会给所有导出的sheet都加上Todayday列:

output$dl <- downloadHandler(
  filename = function() { "data.xlsx"},
  content = function(file) {
    data1 <- data_subset1()
    data2 <- data_subset2()
    sheets <- mget(ls(pattern = "data"))
    # 遍历所有表格统一加下载日期列
    sheets <- lapply(sheets, function(x) {
      x$Todayday <- format(Sys.Date(), "%d/%m")
      return(x)
    })
    writexl::write_xlsx(sheets, path = file)
  }
)

说明:代码中Sys.Date()获取的是Shiny服务端的当前日期,常规场景下可满足需求;如果需要获取用户本地的当前日期,需要额外通过前端JS传值到后端,可根据实际场景调整。

内容的提问来源于stack exchange,提问作者Antonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:03