在C#中保存密码保护的Excel文件到XML(我知道密码)

我有一个密码保护的XLS(数据不受保护,列的添加被禁用)。 这是代码:

_excelApp.DisplayAlerts = false; _excelApp.Visible = false; //opens workBook = _excelApp.Workbooks.Open(InputDirectory + CharacterFileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); workBook.Password = "0000"; //save workBook.SaveAs(OutputDirectoryFileName, XlFileFormat.xlXMLSpreadsheet, "0000", Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

密码是“0000”。 我怎样才能使这个代码工作? 我尝试设置密码,但它拒绝保存为XML(错误)

由于我使用的是法语.NET,所以这个错误是法语的。“Le classeur que vous essayez d'enregistrer estprotégépar mot de passe。Les classeursprotégéspar mot de passe ne peuvent pasêtreenregistrésdans une feuille de calcul XML.Pour enregistrer这个XML文件可以在XML格式的文件中find。

任何帮助? 谢谢

错误翻译是:

“您要logging的工作簿受密码保护,受密码保护的文件夹不能存储在XML电子表格中,要将该文件保存为XML电子表格,必须先删除密码。 (去谷歌翻译!)

所以这是devise的,所以唯一的办法就是删除密码,然后保存。

好吧,所以我必须做的是这样的:

 //unprotect the workbook ExcelHelperWorkbook.Unprotect(password); //unprotect the first worksheet ((Worksheet)ExcelHelperWorkbook.Worksheets.get_Item(1)).Unprotect(password); 

然后我可以运行SaveAs 🙂