Excel密码删除

我们每天都会收到使用相同密码进行密码保护的Excel工作簿文件。 我们知道这个密码。 是否有一个实用程序或方法来删除这些工作簿文件的密码保护,而无需调用Excel.exe或Excel对象。 我们的目标是将Excel从stream程中移出并利用VB.net中的SpreadsheetGear。 但是,SpreadsheetGear只能取消保护工作表而不是工作簿。

谢谢

他们是XLS还是XLSX文件?

对于XLSX显然你可以使用RMS SDK来处理encryption的XLSX存储格式。 http://msdn.microsoft.com/en-us/library/aa767782(VS.85).aspx

看着它,虽然它只是一个几乎没有代码示例的规范,所以运气好。 一旦你有权访问基础的XML,你可以使用.net或java的标准XML名称空间来处理文件。

2003(XLS)格式,除非您使用支持程序化访问的propietrary第三方供应商解决scheme(不知道任何特定产品),否则您将不幸运行。

您只需要将工作簿的Password属性设置为空string。 在Python中:

from win32com.client import DispatchEx xlApp = DispatchEx("Excel.Application") xlApp.Workbooks.Open (mySpreadsheet, Password=myPassword, WriteResPassword=myPassword) xlWB = xlApp.Workbooks[0] xlWB.Password = "" xlWB.Save() xlWB.Close(False) xlApp.Quit()