如何将当前文件夹及其子文件夹下的所有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 Object
    Set wdApp = CreateObject("Word.Application")
    For Each file In 文件夹路径
        Set wdDoc = wdApp.Documents.Open(file)
        For Each tbl In wdDoc.Tables
            tbl.Range.Copy
            ThisWorkbook.Sheets(1).Cells(插入行, 1).PasteSpecial
            插入行 = 插入行 + tbl.Rows.Count
        Next tbl
        wdDoc.Close
    Next file
    wdApp.Quit
End Sub

操作提示

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

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


四、第三方工具高效转换

  1. 优速文件名提取器

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

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

工具对比

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

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


五、Python脚本进阶处理

import os
from docx import Document
import pandas as pd

def 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 data

all_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)建议分批次处理

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elon Musk@real

你真帅!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值