C#使用文件密码

时间:2019-01-27 22:55:50

标签: c# excel excel-interop aspose aspose-cells

我正在尝试打开一个受密码保护的Excel文件(版本xls,xlsx,xlsm)。我需要打开文件并从每个文件中删除密码。 我拥有要处理的文件的所有密码。

我不能使用Microsoft Interop Excel,因为必须在服务器上安装excel才能起作用。我已经在使用Aspose.Cells打开不受密码保护的文件。但是我希望能够保存文件而不用密码覆盖它。

有人有建议吗?预先感谢

到目前为止的代码

public static void RemovePassword(string filePath, string password){
  LoadOptions loadOptions = new LoadOptions();
  loadOptions.Password = password;

  Workbook src = new Workbook(filePath, loadOptions);
  //need a way of removing the password from the file.
}

2 个答案:

答案 0 :(得分:2)

您可以使用工作簿的Unprotect方法:

LoadOptions loadOptions = new LoadOptions();
loadOptions.Password = password;

Workbook workbook = new Workbook(filePath, loadOptions);
workbook.Unprotect(password);
// or workbook.Settings.Password = "";
workbook.Save(filePath);

答案 1 :(得分:0)

感谢您的回答,我注意到您的第一个建议只会保护工作簿结构。

workbook.Unprotect(password);

就我而言,我想解密受密码保护(加密)的实际文件

第二条建议非常感谢!

 workbook.Settings.Password = "";
 workbook.Save(filePath);

再次感谢您的帮助