以编程方式重置Excel工作簿密码使用C#

是否有可能重置/重写Excel工作簿中的密码使用C#?

我试图做一些事情,但它并没有解决我的问题:

1) workbook.Password = ""; 没有帮助

2) workbook.Protect ("",true,true);

 workbook.Unprotect(""); doestn't help 

3)我也尝试重新保存workbook.SaveAs(workbook.FullName,XlNormal,"","",false,null,Excel.XlSaveAsAccessMode.xlNoChange,null,false,null,null,false);

如果您有任何想法,请帮忙。

要走的路是

 workbook.Unprotect(pwd); 

但要有它的工作,你需要传递正确的密码,即string.Empty是不够的。

请注意,密码保护不仅可以放在工作簿上,而且可以放在单张工作表上,所以最好在表单上循环并调用Unprotect

如果你不知道密码, 在这里你可以find一个可以解除文件保护的excelmacros。 如果你真的需要的话,把它翻译成C就不是太难了。