在Python或Robot框架中,有什么方法可以检测excel工作簿是否受密码保护?

问题描述 投票:0回答:1

我正在做BOT,它需要知道excel工作簿是否有密码保护(使用python或robot框架)。有什么库或技巧在他们中的任何一个来完成它,因为我一直在做R&D上,因为过去很多天,但没有发现。我遇到的每个解决方案都告诉我如何读取受密码保护的excel,但我不想读取内容,因为如果给定的excel是受密码保护的,BOT只需要发送一封电子邮件。

先谢谢你了。

python robotframework
1个回答
0
投票

我已经找到了解决这个问题的方法--Python有一个库。msoffcrypto-tool 这有助于实现我的需求。以下是相同的代码片段。

def isExcelEncrypted(excelPath):
    try:
        fileHandle = open(excelPath, "rb")
        ofile = msoffcrypto.OfficeFile(fileHandle)
        isEncrypted = ofile.is_encrypted()
        fileHandle.close()
        return isEncrypted
    except Exception as err:
        return "Exception: "+ str( format(err) )

虽然该库是用于解密MS Office文件的,但我只使用了它的is_encrypted()函数(返回TrueFalse),而且,它对.xls和.xlsx格式都有效。

© www.soinside.com 2019 - 2024. All rights reserved.