当前位置: 首页 > 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)建议分批次处理

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

http://www.xdnf.cn/news/75025.html

相关文章:

  • 新能源汽车充电桩:多元化运营模式助力低碳出行
  • CoinNexus Chain 推出泰利风暴,开启 Web3.0 智能金融元宇宙科技新时代
  • 数字空间与VR有什么关系?什么是数字空间?
  • 全能 Sui 技术栈,构建 Web3 的未来
  • Go语言之sync包 WaitGroup的使用和底层实现
  • NVIDIA 自动驾驶技术见解
  • 基于监督学习的图像分类系统优化
  • Oracle--PL/SQL编程
  • 蓝桥杯常考的找规律题
  • Unity Paint In 3D 入门
  • (51单片机)LCD显示温度(DS18B20教程)(LCD1602教程)(延时函数教程)(单总线教程)
  • PDF处理控件Aspose.PDF指南:使用 Python 将 EPUB 转换为 PDF
  • Kubernetes相关的名词解释kubelet 组件(17)
  • uniapp 上传二进制流图片
  • DeepSeek和Excel结合生成动态图表
  • SpringBoot入门实战(第五篇:项目接口-用户管理)
  • Missashe考研日记-day24
  • 品牌如何通过朝日新闻出海日本?——某企业日本媒体发稿实战
  • 小白学习java第14天(上):数据库
  • docker本地虚拟机配置
  • 用selenium4 webdriver + java 搭建并完成第一个自动化测试脚本
  • 【论文阅读24】并行 TCN-LSTM(2024-02)
  • 数据仓库ODS、DWD、DWS、ADS各层介绍
  • 【Linux】多进程任务模块
  • Arthas 指南
  • 在windows下安装windows+Ubuntu16.04双系统(下)
  • Java--数组的应用
  • 【Linux网络】应用层自定义协议与序列化
  • 怎么发布、更新Python第三方库?以potx-cloud为例
  • 算法学习(二)