使用 win32 读取加密 excel(打开与写入双重加密)

话不多说,先上代码

def open_excel(path,open_password,write_password):
    #载入Excel
    xlApp=win32com.client.Dispatch("Excel.Application")
    '''
    设置是否打开Excel
    True:Excel可见
    Fasle:Excel不可见
    '''
    xlApp.Visible=True
    '''
    设置是否显示警告和消息框
    True:显示
    False:不显示
    '''
    xlApp.DisplayAlerts=False
    #打开Excel
    xlwb=xlApp.Workbooks.Open(Filename=path,UpdateLinks=0,
    ReadOnly=False,Format=None,Password=open_password,WriteResPassword=write_password)
    #获取某个Sheet页数据(页数从1开始)
    sheet_data=xlwb.Worksheets(1).UsedRange.Value
    #获取某个单元格数据 
    '''
    最好设置单元格格式为文本格式,默认格式读取
    全数字时,会在后面带上小数点:
    如单元格中为123,读取出来可能为123.0
    sheet_data[行][列]
    行,列都是从0开始计算
    '''
    data=sheet_data[0][0]
    #保存excel
    xlwb.Save()
    #关闭Excel
    xlwb.Close()
    xlApp.Quit()
    

Workbooks.Open 参数说明
FileName: 要打开的工作簿的路径
UpdateLinks:指定更新文件中外部引用(链接)的方式
0: 不更新任何引用
1: 更新外部引用,但不更新远程引用
2: 更新远程引用,但不更新外部引用
3: 同时更新外部引用与远程引用
ReadOnly:True 为只读模式打开工作簿
Format:由此参数指定分隔符。如果省略此参数,则使用当前的分隔符
Password:打开受保护工作簿所需的密码
WriteResPassword:写入受保护工作簿所需的密码