怎样读取加密的excel
import openpyxlwb = openpyxl.load_workbook('asd.xlsx', read_only=True, keep_vba=True, data_only=True, keep_links=False, password='1122')
一直返回
TypeError Traceback (most recent call last)
<ipython-input-1-aec8254904f1> in <module>
2
3 # 打开带有密码的工作簿
----> 4 wb = openpyxl.load_workbook('asd.xlsx', read_only=True, keep_vba=True, data_only=True, keep_links=False, password='1122')
5
6 # 遍历工作表
TypeError: load_workbook() got an unexpected keyword argument 'password'
这里想读取以下表,然后把整张表重新另存一次,因为里面的表有很多合并单元格和图片,所以不方便用pandas读取
在openpyxl库中,load_workbook()函数没有直接提供password参数来读取加密的Excel文件。要读取加密的Excel文件,可以尝试使用win32com库来实现。
首先,确保你已经安装了pywin32库,可以使用以下命令进行安装:
pip install pywin32
然后,可以使用以下代码来读取加密的Excel文件并将其另存为新文件:
import win32com.client as win32
# 创建Excel应用程序对象
excel_app = win32.gencache.EnsureDispatch('Excel.Application')
# 打开加密的Excel文件
workbook = excel_app.Workbooks.Open('asd.xlsx', Password='1122')
# 将整张表另存为新文件
workbook.SaveAs('new_file.xlsx')
# 关闭Excel应用程序
excel_app.Quit()
这段代码使用了win32com库中的Excel应用程序对象来打开加密的Excel文件,并使用Password参数提供密码。然后,使用SaveAs()方法将整张表另存为新文件。最后,关闭Excel应用程序。
请注意,使用win32com库需要在Windows操作系统上运行,并且需要安装Microsoft Excel软件。 你为什么不直接用解密后的excel呢 isdkz 发表于 2023-8-30 22:20
在openpyxl库中,load_workbook()函数没有直接提供password参数来读取加密的Excel文件。要读取加密的Excel ...
---------------------------------------------------------------------------
com_error Traceback (most recent call last)
<ipython-input-2-8a865c2ae754> in <module>
5
6 # 打开加密的Excel文件
----> 7 workbook = excel_app.Workbooks.Open('asd.xlsx', Password='1122')
8
9 # 将整张表另存为新文件
~\AppData\Local\Temp\gen_py\3.8\00020813-0000-0000-C000-000000000046x0x1x9\Workbooks.py in Open(self, Filename, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
73 , Editable=defaultNamedOptArg, Notify=defaultNamedOptArg, Converter=defaultNamedOptArg, AddToMru=defaultNamedOptArg, Local=defaultNamedOptArg
74 , CorruptLoad=defaultNamedOptArg):
---> 75 ret = self._oleobj_.InvokeTypes(1923, LCID, 1, (13, 0), ((8, 1), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17), (12, 17)),Filename
76 , UpdateLinks, ReadOnly, Format, Password, WriteResPassword
77 , IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify
com_error: (-2147352567, '发生意外。', (0, 'Microsoft Excel', '抱歉,无法找到 asd.xlsx。是否可能被移动、重命名或删除?', 'xlmain11.chm', 0, -2146827284), None)还是不行呢 歌者文明清理员 发表于 2023-8-30 22:28
你为什么不直接用解密后的excel呢
文件被一个网络系统锁了,{:10_243:}公司外打不开 不知道 Astray.R 发表于 2023-8-30 22:33
文件被一个网络系统锁了,公司外打不开
怎样的网络系统锁?也就是说密码不是excel文件本身有的? 关注一下 学习下,但不懂
看不懂我只能要个育碧{:10_277:} 本帖最后由 lengyue869 于 2023-8-31 11:29 编辑
亿赛通?先用xlwings打开 isdkz 发表于 2023-8-31 08:50
怎样的网络系统锁?也就是说密码不是excel文件本身有的?
公司所有的,只要是在公司保存的文件,都会被标记,外网打不开,显示乱码,不过一般我在外网想打开,就必须用python读取另存后才能打开,但是我现在这个excel偏偏自己给他设置了可密码,我试了下openpyxl的方法打开,但是显示load_workbook() got an unexpected keyword argument 'password',我应该已经把openpyxl更新到最新版了 完全可以问问GPT啊 试试 xlwings copy出来不就没锁了?
页:
[1]