当前位置: 首页 > news >正文

如何将当前文件夹及其子文件夹下的所有word提取到一个excel里

这里提供五种主流方法将文件夹中的Word文件汇总到Excel,涵盖文件名提取、内容转换及自动化处理:

一、命令行提取文件名(基础操作)

  1. 生成文件列表
    打开CMD执行命令:
    根据搜索结果,提取当前目录及其子文件夹所有.doc文件的CMD命令如下:

核心命令:

dir /s/b *.doc > filelist.txt

参数详解:

  • /s:递归遍历子文件夹
  • /b:仅显示裸文件名(含完整路径)
  • *.doc:筛选扩展名为.doc的文件(兼容Word 97-2003格式)
  • >:将结果输出到filelist.txt文件

扩展需求处理方案:

  1. 同时提取.doc和.docx文件

    dir /s/b *.doc? > combined_list.txt
    
  2. 带日期格式的文件列表(示例为YYYYMMDD):

    @echo off
    for /f "tokens=2 delims==." %%a in ('wmic OS get LocalDateTime /value^|find "="') do set t=%%a
    dir /s/b *.doc > filelist_%t:~0,8%.txt
    

生成结果示例:

C:\Docs\报告.doc
C:\Docs\2025\项目\合同.doc
C:\Docs\技术\存档\旧文档.doc

注意事项:

  • 中文路径兼容:建议将bat文件保存为ANSI编码(记事本另存为时选择)
  • 权限问题:若遇访问被拒,需以管理员身份运行CMD
  • 子文件夹深度:默认支持最大248层子目录

如需创建自动化脚本,可将命令保存为.bat文件,双击即可生成列表。该方案适用于Windows全版本系统(XP至Win11),生成速度可达每秒处理2000+文件。
此命令生成纯文本文件名列表,支持.doc和.docx格式。

  1. 导入Excel处理
    • 新建Excel,通过【数据】-【从文本】导入list.txt
    • 使用分列功能拆分文件名与扩展名
    • 筛选重复项:选中列 →【数据】-【删除重复项】

适用场景:仅需统计文件名出现次数或管理文件目录。


二、Excel内置工具批量导入

  1. Word转Excel内容

    • Excel中选择【数据】-【获取数据】-【自文件】-【从文件夹】
    • 勾选“合并和转换数据”加载所有Word文件
    • 通过Power Query筛选表格数据后导出
  2. 格式兼容性
    需确保Word内容为规范表格,复杂图文可能丢失格式。

优势:无需编程,Office 2016及以上版本直接支持。


三、VBA宏自动化处理

Sub MergeWordToExcel()Dim wdApp As Object, wdDoc As ObjectSet wdApp = CreateObject("Word.Application")For Each file In 文件夹路径Set wdDoc = wdApp.Documents.Open(file)For Each tbl In wdDoc.Tablestbl.Range.CopyThisWorkbook.Sheets(1).Cells(插入行, 1).PasteSpecial插入行 = 插入行 + tbl.Rows.CountNext tblwdDoc.CloseNext filewdApp.Quit
End Sub

操作提示

  • 修改文件夹路径为实际存储位置
  • 表格数据将按顺序粘贴至Excel首列
  • 需启用Excel的开发者权限(【文件】-【选项】-【自定义功能区】勾选开发工具)

适用场景:需提取Word表格数据且文件结构统一。


四、第三方工具高效转换

  1. 优速文件名提取器

    • 拖放Word文件 → 导出为.xlsx格式
    • 自动提取文件名及创建时间等元数据
  2. 我的ABC软件工作箱

    • 选择【Word转Excel】功能
    • 批量导入文件后指定输出路径,支持保留基础排版

工具对比

工具名称处理速度数据保留度学习成本
优速★★★★☆★★☆☆☆
ABC工作箱★★★☆☆★★★★☆

推荐场景:处理超百份文件或需保留部分格式(如字体颜色)。


五、Python脚本进阶处理

import os
from docx import Document
import pandas as pddef extract_content(doc_path):doc = Document(doc_path)data = []for para in doc.paragraphs:if para.text.strip():  # 过滤空行data.append([para.text])for table in doc.tables:for row in table.rows:data.append([cell.text for cell in row.cells])return dataall_data = []
for root, _, files in os.walk("Word文件夹路径"):for file in files:if file.endswith((".docx", ".doc")):full_path = os.path.join(root, file)all_data.extend(extract_content(full_path))df = pd.DataFrame(all_data)
df.to_excel("汇总结果.xlsx", index=False)

扩展能力

  • 可添加正则表达式筛选特定内容(如电话号码)
  • 支持将图片转为Base64编码存入Excel
  • 需安装python-docxpandas

适用人群:有编程基础且需定制化处理流程的用户。


方法选择建议

  1. 初级用户:优先用方法二或方法四,操作可视化且容错率高
  2. 批量处理:超过50个文件建议使用方法四或五
  3. 开发需求:长期需处理同类任务可编写VBA/Python脚本
  4. 数据安全:涉密文件建议离线使用本地工具(如方法三、四)

注意事项:

  • Word中的合并单元格可能导致Excel数据错位,建议预处理
  • 若出现乱码,检查文件编码是否为UTF-8
  • 超大型文件(如超过50MB)建议分批次处理

如需具体某类文件的转换案例(如合同关键信息提取),可提供更细化的实现逻辑。

相关文章:

  • 常用第三方库:dio网络库使用与封装
  • 超级扩音器手机版:随时随地,大声说话
  • 双指针-11.盛水最多的容器-力扣(LeetCode)
  • UE5 鼠标点击一个物体触发Onclick事件
  • 如何创建Vue3工程
  • 【解决 el-table 树形数据更新后视图不刷新的问题】
  • 【数据结构 · 初阶】- 堆的实现
  • 乐迪电玩发卡查分与控制面板模块逻辑解析
  • 中电金信联合阿里云推出智能陪练Agent
  • 华为S系列交换机CPU占用率高问题排查与解决方案
  • 3、有Bluetooth,LCD,USB,SD卡,PSRAM,FLASH、TP等软硬件驱动开发经验优先考虑
  • PyTorch 分布式 DistributedDataParallel (DDP)
  • Langgraph实战-Agent-ReAct(Reason+Act)概述
  • 扩散模型(Diffusion Models)
  • 客户对质量不满意,如何快速响应?
  • 基于Transformer与随机森林的多变量时间序列预测
  • 商会携手会员单位博阳机械举办DeepSeek大模型技术及应用分享会
  • 02-keil5的配置和使用
  • xxl-job 入门
  • 2176. 统计数组中相等且可以被整除的数对
  • 禾赛:车载激光雷达走向标配,核心能力可在机器人领域复用
  • 深一度|坚守17年,这件事姚明就算赔钱也在继续做
  • 西湖大学本科新增临床医学专业,今年本科招生专业增至8个
  • “女孩被前男友泼汽油烧伤致残案”二审择期宣判
  • GDP增长4.1%,一季度广东经济数据出炉
  • 全球安全倡议提出三周年,外交部介绍有关情况