【批量办公技巧】一键对多个Excel文件进行单元格数据脱敏(打星号)

功能演示

前言

大家好,我是老罗软件,最近公司有一批Excel文件,需要对每个文件的手机号列进行脱敏处理。单个excel的单元格脱敏非常简单,但多个文件就相当耗费人力,今天老罗就是帮大家来解决这个问题的。

我抽取了一个文件, 脱敏效果如下:

注意: 这些数据都是造的假数据,请勿当真,重在演示效果!

Excel手机号脱敏示例

Excel脱敏前后对比效果

问题是我还有上百个这样的文件,都是要进行脱敏处理。

Excel待处理文件批量示例

如果你是小白,应该就花一天的时间一个一个用wps打开,然后一个一个手动处理, 这样不加班才怪!

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

解决方案

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

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

Excel功能大全入口界面

数据脱敏功能入口弹框

支持选择一个目录,这个目录就是你要脱敏的excel文件存储位置,主界面如下:

选择脱敏目录的主界面

下面我将详细介绍下具体的参数含义。

参数-范围设置

就是选择你要脱敏的单元格范围(起始位置)。

B2 表示的是第二行的第二列,这个在excel里面也能看出来, 列就是用A,B,C等表示的。

为什么选择的是B2开始, 表示脱敏的手机号在第二列, 第一行由于是标题,所以跳过,从第二行开始,也就是B2  。

B10000结尾,也就是表示第二列的第1w行,当然数据没有这么多, 所以B2-B10000 就是表示的是整个第二列进行脱敏了。

设置脱敏范围示例(B2-B10000)

参数-脱敏规则

程序内置了多种脱敏规则:”手机号“,”身份证“,”银行卡“,”车牌“等, 还支持自定义脱敏规则。

自定义需要选择开始位置,脱敏字符,字符个数这三个设置。 方便实现你自己的脱敏样式。

自定义脱敏规则参数设置界面

设置好参数后, 点击 “开始处理” 就可以了 , 处理速度非常快, 会按照你的设置对excel目录下面的每一个excel文件进行单元格脱敏。 今天一天的工作 就完成了。结果在右下角的

打开结果文件可以查看:

处理完成后打开结果文件入口

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

技术实现

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

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

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

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

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

4. http请求: requests框架。

部分代码解析

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


class DesensitizationService:
    """单元格脱敏处理服务"""

    def __init__(self):
        self.excel_api = ExcelAPI()

    def process_excel_file(self, excel_file, output_file, args):
        cell_range = args['cell_range']
        rule_name = args['rule_name']
        custom_params = args['custom_params']

        self.excel_api.desensitization(excel_file, output_file, {
            'cell_range': cell_range,
            'rule_name': rule_name,
            'param': custom_params
        })


        

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


延伸阅读