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

如何用R读取文件夹中带统一密码的Excel并提取指定列

R语言批量读取加密Excel生成年度报表

实现步骤:

  1. 加载依赖包
    先确保已安装并加载excel包,未安装的话先执行安装命令:

    install.packages("excel")
    library(excel)
    
  2. 获取目标文件列表
    将存放周度报表的文件夹设为工作目录,提取所有.xlsx格式文件的路径:

    # 替换为你的报表实际存放路径
    setwd("D:/年度报表/周度数据")
    # 获取所有Excel文件的完整路径
    excel_files <- list.files(pattern = "\\.xlsx$", full.names = TRUE)
    
  3. 批量读取并提取指定列
    定义读取单文件的函数,读取加密文件后提取你需要的指定列,再通过循环批量读取并合并所有数据:

    # 自定义读取函数:读取加密文件+提取目标列
    read_encrypted_excel <- function(file_path) {
      # 读取带密码的Excel文件
      raw_data <- xl.read.file(path = file_path, password = "你的统一密码")
      # 替换成你实际需要提取的列名,比如c("日期", "销售额", "部门")
      target_data <- raw_data[, c("列名1", "列名2", "列名3")]
      return(target_data)
    }
    
    # 批量读取所有文件并合并为一个数据框
    annual_report <- do.call(rbind, lapply(excel_files, read_encrypted_excel))
    
  4. 保存年度报表
    将合并好的数据保存为新的报表文件:

    # 保存为CSV格式(无需额外包)
    write.csv(annual_report, "年度汇总报表.csv", row.names = FALSE)
    # 若需保存为Excel格式,可使用openxlsx包(需提前安装)
    # install.packages("openxlsx")
    # library(openxlsx)
    # write.xlsx(annual_report, "年度汇总报表.xlsx", rowNames = FALSE)
    

注意事项:

  • 确保所有周度报表的指定列列名完全一致,否则合并时会出现列不匹配问题
  • 若部分文件存在空行或异常数据,可在读取函数中添加清洗逻辑,比如na.omit(target_data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:05:55