【问题标题】:how to read password protected excel in python如何在python中读取受密码保护的excel
【发布时间】:2011-04-16 14:05:06
【问题描述】:

我是python编程的新手,我正在尝试使用python读取受密码保护的文件,代码如下所示:

import sys
import win32com.client

xlApp = win32com.client.Dispatch("Excel.Application")
print "Excel library version:", xlApp.Version
filename,password = 'C:\myfiles\foo.xls', 'qwerty12'
xlwb = xlApp.Workbooks.Open(filename, Password=password)

但是后来xls文件加载了还是提示我输入密码,我不能让python帮我输入密码。

我做错了什么?谢谢!

【问题讨论】:

    标签: python excel password-protection


    【解决方案1】:

    Open需要两种密码,分别是:

    Password: password required to open a protected workbook.
    WriteResPassword : password required to write to a write-reserved workbook
    

    那么在你的情况下,它是写保护还是打开保护?

    还有一个关于 SO 的讨论说这不适用于命名参数,因此请尝试为所有参数值提供默认值

    默认值记录在 MSDN 中

    【讨论】:

    • 我不确定,我只是在尝试打开 xls 文件时收到提示,我怎么知道呢?谢谢!
    • @lok​​heart:如果您收到打开文件的提示并且没有输入密码并且它以只读模式打开 excel 文件,那么它只是写保护的。查看我编辑的回复,看起来命名参数不起作用。如果回答对您有帮助,请告诉我。
    • 我修复了它使用:xlwb = xlApp.Workbooks.Open(filename, 0, True, None, password) 但是我不太明白 Workbooks.Open 的第二个参数,它是什么?谢谢!
    • @kokheart:如果 Microsoft Excel 正在打开 WKS、WK1 或 WK3 格式的文件并且 UpdateLinks 参数为 2,Microsoft Excel 会从附加到文件的图形中生成图表。如果参数为 0,则不创建图表。
    【解决方案2】:

    使用它打开受密码保护的文件

    xlwb = xlApp.Workbooks.Open(filename, False, True, None, password)

    我希望这有效。它对我有用。

    【讨论】:

      猜你喜欢
      • 2020-06-18
      • 1970-01-01
      • 2013-11-09
      • 2018-12-18
      • 1970-01-01
      • 2010-11-24
      • 2016-06-21
      • 1970-01-01
      • 2016-04-02
      相关资源
      最近更新 更多