乐趣区

关于excel:如何快速解除Excel表格工作表保护

1. 解除 Excel 表格工作表爱护的办法

如下文档介绍了 Excel 表格解除工作表爱护的办法,根本的套路就是把 excel 表格改名一个压缩包文件,接着从压缩包文件中取出对应的 sheet 页面的配置 xml 文件,而后把该 xml 文件中的 sheetProtection 节点删除掉。最初把文件放入压缩包,并复原为原 excel 后缀。从新关上 excel 表格,该 sheet 页面的表格爱护已被解除。
https://www.jianshu.com/p/b01…
https://www.cnblogs.com/shadr…

2. 应用 python 疾速解除工作表爱护

如果 sheet 页面比拟多,一一去批改比拟麻烦,所以这里提供一个应用 python 脚本疾速批改的计划:

import os
import re
import xml.dom.minidom

def delete_protection_node(xml_file):
    doc = xml.dom.minidom.parse(xml_file)
    root = doc.documentElement

    for parent in root.childNodes:
        if(parent.tagName == 'sheetProtection'):
            root.removeChild(parent)

    with open(xml_file, 'w', encoding='UTF-8') as f:
        doc.writexml(f)


walk_names = os.walk(r'xl\worksheets')
for (directory, sub_directorys, file_names) in walk_names:
    for name in file_names:
        m = re.match(r'(.+\.)xml$', name, re.I)
        if m:
            delete_protection_node(os.path.join(directory, name))
退出移动版