[英]encrypting excel workbook sheet with python
我目前正在實現一種工具,可以使日常工作自動化。 因此,我需要創建一個python工具,該工具可以創建包含多個信息的excel文件(工作簿)並加密文件的工作表。 創建文件並用數據填充文件的第一部分可以正常工作。
但是加密根本不起作用。 我正在使用win32com,win32com.client和openpyxl。 該工作簿有兩個不同的工作表,分別為“ 1”和“ 2”。
我的工作簿:
import win32com.client
import os, sys, win32com, os.path, time
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = True
workbook = excel.Workbooks.Open(reading_path) ####this is the path where the file is stored
sheet = workbook.Worksheets(1)
因此,我搜索了其他主題並獲得了以下內容:
import openpyxl
sheet.protection.set_password('test')
sheet.save(saving_path)
不幸的是,這不起作用...我的shell響應AttributeError。 詳細:
AttributeError: <unknown>.set_password
有人知道另一種方法如何使用python僅加密excel中的頁面嗎?
非常感謝你的幫助!
尚不清楚“加密工作表”是什么意思,因為您引用的openpyxl
代碼與加密無關。 請參閱文檔中的警告。 Excel確實支持整個工作簿的加密,但這似乎與您想要的不同。
在任何情況下,你的代碼失敗,因為sheet
你得到win32com
是一個完全不同的野獸比openpyxl
預期。 例如, sheet
基於COM的存在需要一個Excel進程來運行用於操作成為可能,而openpyxl
甚至不要求的Excel可用在主機上。
現在,在您的特定情況下,您實際上並不需要openpyxl
(盡管您可能會發現通過win32com
使用它有很多好處),並且您可以完全留在COM中。 這樣,可以通過Worksheet.Protect
添加密碼保護,在您的情況下,可以簡化為簡單運行
sheet.Protect('test')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.