python-3.x - 如何锁定现有 Excel 工作表中的特定列?
问题描述
我想锁定现有 Excel 工作表中的特定列。我正在使用下面的代码,但出现以下错误:
AttributeError:“元组”对象没有属性“保护”
谁能指导我哪里出错了,我该如何完成?
import openpyxl
from openpyxl import load_workbook
from openpyxl.styles import Protection
path = r"C:\Users\sarashiv\ABC.xlsx"
wb = load_workbook(path)
ws = wb.active
ws.protection.sheet = True
ws.protection.enable()
ws['A:D'].protection.disable()
wb.save(path)
解决方案
在阅读了多个帖子后,我能够破解这个。我找不到解锁列的方法,但找到了解锁单元格的方法。我使用 for 循环通过解锁许多单元格来解锁列。
wb = load_workbook(path_1)
ws = wb.active
ws.protection.sheet = True
ws.protection.enable()
for x in range(1, 100): #Unlocks first 100 rows in first 2 columns
for y in range(1,3):
ws.cell(row = x, column = y).protection = Protection(locked=False, hidden=False)
wb.save(path_1)
推荐阅读
- google-mlkit - GoogleMLKit/TextRecognition 示例
- python - Pandas:如果没有元素,则获取 N 个最大值并插入 NaN 值
- python - 如何使用 networkx(Python) 计算图形编辑距离?
- javascript - 让 if 语句在满足条件的行的单元格中放置一个“x”?
- postgresql - Embedded-Debezium spring boot postgreSQL DB 连接问题
- c# - 如何在控制台中限制用户输入
- java - 使用 Spring,我可以创建几个可选的路径变量吗?
- javascript - 用 vuejs 做一个响应式组件
- docker - AttributeError:模块'_version'在docker上的mysql连接器中没有属性'version'
- java - 将 Java FX 与 TMC Bean 一起使用