【批量办公技巧】一键对多个Excel文件查找和替换

前言

大家好,我是老罗软件,最近公司有一批Excel文件,需要对每个excel内容的关键字“等额本息”改成“等额本金”。单个excel是很容易操作的,但多个文件就相当耗费人力,今天老罗就是帮大家来解决这个问题的。

 

需求描述

对应有一批excel,需要将“等额本息”改成“等额本金”,并且高亮显示,我找了一个excel打开如下:

image

 

查找替换结果如下:

image

 

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

image

 

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

 

解决方案

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

 

视频演示

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

 

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

image

 

 

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

 

image

 

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

Excel目录:  你要查找替换的一批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']

        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
        })

 

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

 

结尾语

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

posted @ 2025-11-21 19:30  qq3993387644  阅读(6)  评论(0)    收藏  举报