最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)鎖定指定Excel單元格區(qū)域

 更新時間:2026年05月08日 14:00:02   作者:咕白m625  
本文將演示如何使用 Python 實現(xiàn) Excel 指定單元格區(qū)域鎖定,公式單元格隱藏保護(hù),工作表密碼防護(hù),多工作表批量鎖定與解除保護(hù),所有代碼示例可直接復(fù)用至自動化業(yè)務(wù)腳本,感興趣的小伙伴可以了解下

前言

在報表自動化、業(yè)務(wù)數(shù)據(jù)防護(hù)、批量臺賬生成等后端開發(fā)場景中,經(jīng)常需要對 Excel 表頭、固定配置區(qū)域、公式計算單元格進(jìn)行鎖定保護(hù),防止人為誤編輯與數(shù)據(jù)篡改。

本文將演示如何使用 Python 實現(xiàn) Excel 指定單元格區(qū)域鎖定、公式單元格隱藏保護(hù)、工作表密碼防護(hù)、多工作表批量鎖定與解除保護(hù),所有代碼示例可直接復(fù)用至自動化業(yè)務(wù)腳本。

一、環(huán)境配置

1. 免費庫安裝

pip install Spire.Xls.Free

2. 模塊導(dǎo)入

from spire.xls import *
from spire.xls.common import *

二、Excel 單元格鎖定核心原理

Excel 單元格鎖定并非單獨設(shè)置屬性即可生效,依賴一套固定邏輯機制:

  1. Excel 所有單元格默認(rèn) Locked 屬性為開啟狀態(tài),但未啟用工作表保護(hù)時,仍可自由編輯;
  2. 想要精準(zhǔn)鎖定指定區(qū)域,需先全局解鎖整張工作表,再單獨對目標(biāo)單元格設(shè)置鎖定;
  3. 配置完成后啟用工作表保護(hù)并設(shè)置訪問密碼,鎖定規(guī)則才會正式生效。

標(biāo)準(zhǔn)開發(fā)流程:

  1. 全局解鎖工作表全部單元格;
  2. 對需要保護(hù)的單元格、行、列或自定義區(qū)域開啟鎖定;
  3. 設(shè)置工作表保護(hù)密碼;
  4. 保存文件并主動釋放資源。

三、實戰(zhàn)代碼示例

下文所有示例統(tǒng)一使用保護(hù)密碼 Admin@2025,可根據(jù)業(yè)務(wù)場景自行替換。

示例1:鎖定指定單元格區(qū)域,保留其余區(qū)域可編輯

常用于鎖定報表表頭、固定參數(shù)列,開放業(yè)務(wù)數(shù)據(jù)行編輯權(quán)限。

from spire.xls import *
from spire.xls.common import *

# 加載Excel文件
workbook = Workbook()
workbook.LoadFromFile("demo.xlsx")
worksheet = workbook.Worksheets[0]

# 全局解鎖所有單元格(核心)
worksheet.Range.Style.Locked = False

# 鎖定指定區(qū)域(支持單元格、行列、區(qū)域)
# 示例1:鎖定單個單元格 A1
worksheet.Range["A1"].Style.Locked = True
# 示例2:鎖定區(qū)域 A1:C5
worksheet.Range["A1:C5"].Style.Locked = True
# 示例3:鎖定第1行(表頭)
worksheet.Rows[0].Style.Locked = True
# 示例4:鎖定A列(固定字段)
worksheet.Columns[0].Style.Locked = True

# 設(shè)置工作表密碼保護(hù)
worksheet.Protect("Admin@2025")

# 保存文件并釋放資源
workbook.SaveToFile("指定區(qū)域鎖定.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

示例2:自動鎖定公式單元格并隱藏公式內(nèi)容

自動遍歷表格已使用區(qū)域,識別含公式的單元格,完成鎖定并隱藏公式,避免公式被篡改或隨意查看。

from spire.xls import *
from spire.xls.common import *

workbook = Workbook()
workbook.LoadFromFile("demo.xlsx")
worksheet = workbook.Worksheets[0]

# 全局解鎖
worksheet.Range.Style.Locked = False

# 遍歷已使用單元格
used_range = worksheet.AllocatedRange
for cell in used_range:
    if cell.HasFormula:
        cell.Style.Locked = True
        cell.HideFormula = True

# 啟用密碼保護(hù)
worksheet.Protect("Admin@2025")

workbook.SaveToFile("公式單元格鎖定.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

示例3:批量鎖定工作簿所有工作表

批量對多工作表統(tǒng)一配置鎖定區(qū)域與保護(hù)密碼,適配多sheet 模板文件批量防護(hù)場景。

from spire.xls import *
from spire.xls.common import *

workbook = Workbook()
workbook.LoadFromFile("多工作表模板.xlsx")

# 遍歷所有工作表統(tǒng)一配置
for sheet in workbook.Worksheets:
    sheet.Range.Style.Locked = False
    sheet.Range["A1:C5"].Style.Locked = True
    sheet.Protect("Admin@2025")

workbook.SaveToFile("批量工作表鎖定.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

示例4:解除工作表密碼保護(hù)

傳入原有保護(hù)密碼,撤銷工作表鎖定狀態(tài),恢復(fù)所有單元格可編輯。

from spire.xls import *
from spire.xls.common import *

workbook = Workbook()
workbook.LoadFromFile("指定區(qū)域鎖定.xlsx")
worksheet = workbook.Worksheets[0]

# 輸入原有密碼解除保護(hù)
worksheet.Unprotect("Admin@2025")

workbook.SaveToFile("解除工作表保護(hù).xlsx", ExcelVersion.Version2016)
workbook.Dispose()

四、開發(fā)注意事項

  1. 單元格 Locked 屬性僅做標(biāo)記,必須啟用工作表保護(hù)才會真正生效;
  2. 完成文件操作后務(wù)必調(diào)用 Dispose() 釋放資源,防止進(jìn)程常駐占用文件;
  3. 優(yōu)先采用 xlsx 格式進(jìn)行操作,老式 xls 格式在工作表保護(hù)特性上兼容性較弱;
  4. 程序運行環(huán)境無需安裝 Office 或 WPS,可直接部署在服務(wù)器后臺定時任務(wù)中;
  5. 解除工作表保護(hù)時,需傳入與設(shè)置保護(hù)時一致的密碼。

五、總結(jié)

本文結(jié)合實際開發(fā)場景,實現(xiàn)了 Excel 單元格指定區(qū)域鎖定、公式隱藏保護(hù)、多工作表批量處理、密碼保護(hù)與解鎖等常用功能。遵循全局解鎖、局部鎖定、密碼防護(hù)的標(biāo)準(zhǔn)邏輯,代碼結(jié)構(gòu)規(guī)范、可直接落地接入報表生成、數(shù)據(jù)導(dǎo)出、模板固化等自動化項目,適合作為 Python 操作 Excel 數(shù)據(jù)防護(hù)的通用解決方案。

到此這篇關(guān)于Python實現(xiàn)鎖定指定Excel單元格區(qū)域的文章就介紹到這了,更多相關(guān)Python鎖定Excel單元格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python繪制牛奶凍曲線(高木曲線)案例

    Python繪制牛奶凍曲線(高木曲線)案例

    這篇文章主要介紹了Python繪制牛奶凍曲線(高木曲線)案例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python中base64編碼與解碼詳解

    Python中base64編碼與解碼詳解

    本文主要介紹了Python2和Python3中使用base64加密方式的區(qū)別,Python3中字符為unicode編碼,而b64encode函數(shù)的參數(shù)為byte類型,所以需要先進(jìn)行轉(zhuǎn)碼
    2024-11-11
  • Window10上Tensorflow的安裝(CPU和GPU版本)

    Window10上Tensorflow的安裝(CPU和GPU版本)

    這篇文章主要介紹了Window10上Tensorflow的安裝(CPU和GPU版本),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • django基于存儲在前端的token用戶認(rèn)證解析

    django基于存儲在前端的token用戶認(rèn)證解析

    這篇文章主要介紹了django基于存儲在前端的token用戶認(rèn)證解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python檢測兩個文本文件相似性的三種方法

    Python檢測兩個文本文件相似性的三種方法

    檢測兩個文本文件的相似性是一個常見的任務(wù),可以用于文本去重、抄襲檢測等場景,Python 提供了多種方法來實現(xiàn)這一功能,x下面小編就來簡單介紹一下吧
    2025-03-03
  • python tkinter制作用戶登錄界面的簡單實現(xiàn)

    python tkinter制作用戶登錄界面的簡單實現(xiàn)

    這篇文章主要介紹了python tkinter制作用戶登錄界面的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python?find()、rfind()方法及作用

    Python?find()、rfind()方法及作用

    這篇文章主要介紹了Python?find()、rfind()方法,find方法的作用檢索是否指定的字符串,如果存在返回首次出現(xiàn)該字符串的索引,如果不存在返回-1,rfind 方法的作用和find方法作用相同,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python3打包exe代碼2種方法實例解析

    Python3打包exe代碼2種方法實例解析

    這篇文章主要介紹了Python3打包exe代碼2種方法實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • python的描述符(descriptor)、裝飾器(property)造成的一個無限遞歸問題分享

    python的描述符(descriptor)、裝飾器(property)造成的一個無限遞歸問題分享

    這篇文章主要介紹了python的描述符(descriptor)、裝飾器(property)造成的一個無限遞歸問題分享,一個不太會遇到的問題,需要的朋友可以參考下
    2014-07-07
  • 使用pandas的box_plot去除異常值

    使用pandas的box_plot去除異常值

    今天小編就為大家分享一篇使用pandas的box_plot去除異常值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

山西省| 合江县| 商丘市| 漳浦县| 衡南县| 洛扎县| 平武县| 望城县| 龙南县| 壶关县| 怀来县| 宣汉县| 宿松县| 胶南市| 兰坪| 宾川县| 阳新县| 周宁县| 神木县| 远安县| 新乐市| 利川市| 广汉市| 双鸭山市| 繁峙县| 新安县| 永昌县| 桐乡市| 湛江市| 南开区| 德化县| 衡阳市| 碌曲县| 十堰市| 威远县| 教育| 屏南县| 屯昌县| 工布江达县| 定南县| 岳阳市|