欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python保護(hù)或加密Excel文件的7種方法

 更新時間:2025年02月20日 09:58:16   作者:nuclear2011  
Excel文件通常包含敏感信息,如財(cái)務(wù)記錄、客戶數(shù)據(jù)或?qū)S泄?保護(hù)和加密這些文件對于防止未經(jīng)授權(quán)的訪問和維護(hù)機(jī)密性至關(guān)重要,在本文中,我們將探討如何使用Python自動化Excel文件的安全保護(hù)和加密過程,確保數(shù)據(jù)的安全性,需要的朋友可以參考下

引言

Excel文件通常包含敏感信息,如財(cái)務(wù)記錄、客戶數(shù)據(jù)或?qū)S泄?。保護(hù)和加密這些文件對于防止未經(jīng)授權(quán)的訪問和維護(hù)機(jī)密性至關(guān)重要。在本文中,我們將探討如何使用Python自動化Excel文件的安全保護(hù)和加密過程,確保數(shù)據(jù)的安全性。主要包括以下主題:

  • 使用文檔打開密碼保護(hù) Excel 文件
  • 使用文檔修改密碼保護(hù) Excel 文件
  • 將 Excel 文件標(biāo)記為最終版本
  • 保護(hù) Excel 工作表
  • 在保護(hù) Excel 工作表的同時允許編輯某些單元格
  • 鎖定 Excel 工作表中的特定單元格
  • 鎖定Excel 工作表中的特定行或列

安裝Python Excel庫

在Python中,我們可以使用Spire.XLS for Python庫來保護(hù)或加密Excel文件。該庫提供了多種功能來保護(hù)和加密Excel文件,如設(shè)置密碼、應(yīng)用工作表保護(hù)、將Excel標(biāo)記為最終版本、鎖定單元格、行、列等。

你可以使用以下pip命令從PyPI安裝Spire.XLS for Python:

pip install Spire.Xls

如果不清楚如何安裝,查看這篇文檔:在Windows中安裝Spire.XLS for Python的操作指南_python_腳本之家

Python 使用文檔打開密碼保護(hù) Excel 文件

文檔打開密碼的主要作用是限制未經(jīng)授權(quán)的人打開或訪問文檔。設(shè)置了打開密碼后,任何人都需要輸入正確的密碼才能成功打開該Excel文件。

通過使用Spire.XLS for Python提供的Workbook.Protect()方法,可以給Excel文件設(shè)置文檔打開密碼。關(guān)鍵步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.Protect()方法給該Excel文件設(shè)置文檔打開密碼。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 給文件設(shè)置文檔打開密碼
workbook.Protect("12345Open")
 
# 保存結(jié)果文件
workbook.SaveToFile("文檔打開密碼.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

需要注意的是,文檔打開密碼和修改密碼可以單獨(dú)設(shè)置,也可以同時設(shè)置。當(dāng)同時設(shè)置了這兩種密碼時,用戶不僅需要輸入正確的打開密碼才能打開文件,還需要輸入正確的修改密碼才能編輯文件內(nèi)容。

Python 將 Excel 文件標(biāo)記為最終版本

當(dāng)Excel文件被標(biāo)記為最終版本后,其他用戶在打開文件時會看到"此文件已被標(biāo)記為最終版本"的提示,從而知道不應(yīng)再對其進(jìn)行編輯。這種方式可以有效防止Excel文件被意外修改。

要將Excel文件標(biāo)記為最終版本,可以使用Workbook.CustomDocumentProperties.Add("_MarkAsFinal", True)方法。具體步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.CustomDocumentProperties.Add("_MarkAsFinal", True)方法將該Excel文件標(biāo)記為最終版本。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 將文檔標(biāo)記為最終版本
workbook.CustomDocumentProperties.Add("_MarkAsFinal", True)
 
# 保存結(jié)果文件
workbook.SaveToFile("最終版本.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 保護(hù) Excel 工作表

除了保護(hù)整個Excel文件以外,Excel還支持對單個工作表進(jìn)行保護(hù),從而限制用戶對特定工作表的編輯操作。

要保護(hù)特定Excel工作表,可以使用Worksheet.Protect()方法。具體步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.Worksheets[index]屬性獲取特定工作表。
  • 使用Worksheet.Protect()方法保護(hù)該工作表。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
 
# 用密碼保護(hù)工作表,并指定保護(hù)類型
sheet.Protect("Sheet111", SheetProtectionType.none)
 
# 保存結(jié)果文件
workbook.SaveToFile("保護(hù)工作表.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 在保護(hù) Excel 工作表的同時允許編輯某些單元格

在保護(hù) Excel 工作表時,你可以設(shè)置可編輯區(qū)域,以允許用戶編輯被保護(hù)工作表中的某些特定單元格。

要設(shè)置工作表的可編輯區(qū)域,可以使用Worksheet.AddAllowEditRange()方法。具體步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.Worksheets[index]屬性獲取特定工作表。
  • 使用Worksheet.AddAllowEditRange()方法指定保護(hù)工作表后可編輯的單元格區(qū)域。
  • 使用Worksheet.Protect()方法保護(hù)該工作表。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
 
# 指定可編輯的單元格區(qū)域
sheet.AddAllowEditRange("Range1", sheet.Range["B2:E11"])
 
# 用密碼保護(hù)工作表
sheet.Protect("Sheet111", SheetProtectionType.none)
 
# 保存結(jié)果文件
workbook.SaveToFile("可編輯區(qū)域.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 鎖定 Excel 工作表中的特定單元格

如果 Excel 工作表中一些關(guān)鍵單元格包含重要的公式或數(shù)據(jù),你可以對這些單元格進(jìn)行鎖定保護(hù)。這樣可以防止普通用戶對這些關(guān)鍵單元格進(jìn)行編輯,同時仍然讓他們可以對其他單元格進(jìn)行操作。

要鎖定特定單元格,可以使用Worksheet.Range[].Style.Locked屬性。具體步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.Worksheets[index]屬性獲取特定工作表。
  • 使用Worksheet.Cells屬性獲取工作表的單元格集合。
  • 循環(huán)遍歷單元格,并取消所有單元格的鎖定狀態(tài) (Excel中所有單元格的鎖定狀態(tài)默認(rèn)是選中的)。
  • 使用Worksheet.Range[].Style.Locked屬性鎖定特定單元格或單元格區(qū)域。
  • 使用Worksheet.Protect()方法保護(hù)該工作表。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
 
# 獲取工作表的單元格集合
cellsCollection = sheet.Cells
 
# 循環(huán)遍歷單元格,并取消所有單元格的鎖定狀態(tài) (在Excel中,所有單元格的鎖定狀態(tài)默認(rèn)都是選中的)
for cell in cellsCollection:
    cell.Style.Locked = False
 
# 鎖定特定的單元格區(qū)域
sheet.Range["A1:E1"].Style.Locked = True
 
# 用密碼保護(hù)工作表
sheet.Protect("Sheet111", SheetProtectionType.none)
 
# 保存結(jié)果文件
workbook.SaveToFile("鎖定單元格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 鎖定 Excel 工作表中的特定行或列

除了鎖定特定的單元格或區(qū)域外,你還可以鎖定整行或整列。

要鎖定特定的行或列,可以使用Worksheet.Rows[index].Style.LockedWorksheet.Columns[index].Style.Locked屬性。具體步驟如下:

  • 創(chuàng)建Workbook類的實(shí)例。
  • 使用Workbook.LoadFromFile()方法加載Excel文件。
  • 使用Workbook.Worksheets[index]屬性獲取特定工作表。
  • 使用Worksheet.Cells屬性獲取工作表的單元格集合。
  • 循環(huán)遍歷單元格,并取消所有單元格的鎖定狀態(tài) (Excel中所有單元格的鎖定狀態(tài)默認(rèn)是選中的)。
  • 使用Worksheet.Rows[index].Style.LockedWorksheet.Columns[index].Style.Locked屬性鎖定特定行或列。
  • 使用Worksheet.Protect()方法保護(hù)該工作表。
  • 使用Workbook.SaveToFile()方法保存結(jié)果文件。

完整代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建一個 Workbook 對象
workbook = Workbook()
# 加載一個 Excel 文件
workbook.LoadFromFile("測試.xlsx")
 
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
 
# 獲取工作表的單元格集合
cellsCollection = sheet.Cells
 
# 循環(huán)遍歷單元格,并取消所有單元格的鎖定狀態(tài) (在Excel中,所有單元格的鎖定狀態(tài)默認(rèn)都是選中的)
for cell in cellsCollection:
    cell.Style.Locked = False
 
# 鎖定第一行和第一列
sheet.Rows[0].Style.Locked = True
sheet.Columns[0].Style.Locked = True
 
# 用密碼保護(hù)工作表
sheet.Protect("Sheet111", SheetProtectionType.none)
 
# 保存結(jié)果文件
workbook.SaveToFile("鎖定行列.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

以上就是使用Python保護(hù)或加密Excel文件的7種不同的場景。希望對你有幫助。

到此這篇關(guān)于使用Python保護(hù)或加密Excel文件的7種方法的文章就介紹到這了,更多相關(guān)Python保護(hù)或加密Excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python函數(shù)式編程實(shí)例詳解

    Python函數(shù)式編程實(shí)例詳解

    這篇文章主要介紹了Python函數(shù)式編程,結(jié)合實(shí)例形式詳細(xì)分析了Python函數(shù)式編程高階函數(shù)、匿名函數(shù)、閉包及函數(shù)裝飾器等相關(guān)概念、原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Matplotlib條形圖之分組條形圖和堆疊條形圖詳解

    Matplotlib條形圖之分組條形圖和堆疊條形圖詳解

    這篇文章主要為大家詳細(xì)介紹了Matplotlib條形圖之分組條形圖和堆疊條形圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python連接MySQL數(shù)據(jù)庫的簡單便捷方法

    Python連接MySQL數(shù)據(jù)庫的簡單便捷方法

    在數(shù)據(jù)分析過程中往往要操作較大的數(shù)據(jù)集,這就需要連接數(shù)據(jù)庫進(jìn)行操作,下面這篇文章主要給大家介紹了關(guān)于Python連接MySQL數(shù)據(jù)庫的簡單便捷方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Python辦公自動化之Excel(中)

    Python辦公自動化之Excel(中)

    本篇文章將介紹如何用openpyxl操作excel,它支持格式的表格文件,并且支持 Numpy、Pandas 等包,可用于繪制圖表
    2021-05-05
  • Django集成Celery之狀態(tài)監(jiān)控與任務(wù)管理詳解

    Django集成Celery之狀態(tài)監(jiān)控與任務(wù)管理詳解

    這篇文章主要介紹了Django集成Celery之狀態(tài)監(jiān)控與任務(wù)管理詳解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 最新評論