首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【批量办公技巧】多Excel文件一键查找并汇总命中行结果到文件

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

原创
作者头像
家庭Q秋-3993387644
发布2025-11-27 18:09:23
发布2025-11-27 18:09:23
1470
举报
文章被收录于专栏:鲸闲办公鲸闲办公

视频演示

前言

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

需求描述

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

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

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

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

解决方案

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

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

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

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

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

所有的爱好为打游戏的数据都被汇总到这里了。 如果您有疑问可以一起来探讨,功能就介绍到 这里 ,希望能帮助大家,感谢!!!

技术实现

非技术人员不需要观看!! 这里设计到的技术复杂, 我也就就简单讲解实现原理。 软件是基于Python开发的现代化办公自动化软件,主要使用了如下技术架构: 1. PySide6 (Qt6) - 现代化GUI界面框架: 2. springboot: excel的数据脱敏是通过后端java实现的。 3. 文件处理:os.walk() - 递归遍历目录结构。 4. http请求: requests框架。

部分代码解析

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

代码语言:javascript
复制
#!/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这些有名的工具就可以了, 但是针对多文件批量一键处理还可以尝试我文章中的介绍方法,可以为你提高很大的工作效率,让你有时间充实自己,而不是像机器人一样做重复的工作,没有任何新的收获。 就说到这里了, 如帮助到你了,还请点个赞,感谢!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 视频演示
  • 前言
  • 需求描述
  • 解决方案
  • 技术实现
    • 部分代码解析
  • 结尾语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档