【批量办公技巧】多Excel文件一键查找并汇总命中行结果到文件

前言

大家好,我是老罗软件,最近公司有一批Excel文件,需要将每个excel的爱好为“打游戏”的数据汇总到一个结果excel文件。单个excel是很容易操作的,但多个文件就相当耗费人力,今天老罗就是帮大家来解决这个问题的。

 

需求描述

对应有一批excel,需要将爱好打游戏的行数据抽取出来,我找了一个excel打开如下:

image

 

抽取结果,全部都是 爱好打游戏的数据:

image

 

如果只有一个excel,我想人工操作还是很简单的,但是我有一批excel都需要这样操作:

image

 

如果你想早点下班,抛开这些重复的繁琐步骤,节省更多时间充实自己,就请往下看。

 

解决方案

关注公众号:”老罗软件“  , 可以获取到解决方案软件下载。 

 

视频演示

https://githubs.xyz/show/fish/find_extract.mp4

 

这是一个专业解决excel多文件处理的方案, 找到 Excel功能大全, 然后在弹出的框里点击 ”查找替换“。

image

 

软件打开后, 我们设置好界面的参数:

image

 

 

下面我来详细介绍下参数意思。 

 
 Excel目录:  就是你要查找的excel位置。
 查找文本:    就是要查找的内容,支持设置多个,多个需要点击 插入分隔符。
 命中抽取:    需要勾选这个,勾选了才会进行结果汇总,否则就只是查找高亮。

 

设置好之后,点击开始处理, 程序会一条一条处理, 执行完,打开结果文件,如下图:

image

 

所有的爱好为打游戏的数据都被汇总到这里了。

如果您有疑问可以一起来探讨,功能就介绍到 这里 ,希望能帮助大家,感谢!!!

技术实现

非技术人员不需要观看!!  这里设计到的技术复杂, 我也就就简单讲解实现原理。

 

软件是基于Python开发的现代化办公自动化软件,主要使用了如下技术架构:

1. PySide6 (Qt6) - 现代化GUI界面框架:

2. springboot: excel的数据脱敏是通过后端java实现的。

3. 文件处理:os.walk() - 递归遍历目录结构。

4. http请求: requests框架。 

 

部分代码解析

项目的 开始 按钮,会开启一个QThread线程去处理,首先是获取excel目录, 然后通过os.walk遍历目录获取到所有文件,然后一个一个进行处理,处理的业务代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
批量查找替换服务类
提供Excel文件中的批量查找替换功能的核心实现
"""
import os
import re
from pathlib import Path

import openpyxl
from openpyxl.styles import Font, PatternFill
from openpyxl.utils import get_column_letter

from api.excel_api import ExcelAPI
from utils.logger import info, error, warning, debug
from utils import FileUtils


class FindReplaceService:
    """批量查找替换服务类"""
    
    def __init__(self):
        """初始化服务"""
        self.excel_api = ExcelAPI()
    
    def get_excel_files(self, directory):
        """获取目录下的所有Excel文件"""
        return FileUtils.list_files(directory,['.xlsx', '.xls'])

    def find_replace_in_excel(self, excel_file , output_file  ,args):
        """在Excel文件中查找并替换文本
        """
        find_text = args['find_text']
        replace_text = args['replace_text']
        match_mode = args['match_mode']
        case_sensitive = args['case_sensitive']
        bg_color = args['bg_color']
        font_name = args['font_name']
        font_size = args['font_size']
        font_color = args['font_color']
        cell_range = args.get('cell_range')
        highlight_row = args.get('highlight_row', False)
        extractData = args.get('extractData', False)

        self.excel_api.find_replace(excel_file , output_file , {
            "find_text":find_text,
            "replace_text":replace_text,
            "match_mode":match_mode,
            "case_sensitive":case_sensitive,
            "bg_color":bg_color,
            "font_name":font_name,
            "font_size":font_size,
            "font_color":font_color,
            "cell_range":cell_range,
            "heightRow":highlight_row,
            "extractData":extractData
        })

 

代码没有开源噢。如果您有技术合作意向,还请联系本人。今天就介绍到 这里 ,希望能帮助大家,感谢!!!

 

结尾语

单个excel查找,我们用wps这些有名的工具就可以了,  但是针对多文件批量一键处理还可以尝试我文章中的介绍方法,可以为你提高很大的工作效率,让你有时间充实自己,而不是像机器人一样做重复的工作,没有任何新的收获。 就说到这里了, 如帮助到你了,还请点个赞,感谢!!

posted @ 2025-11-27 17:39  qq3993387644  阅读(33)  评论(0)    收藏  举报