用C#将受密码保护的Excel文件保存为XML(我知道密码)

用C#将受密码保护的Excel文件保存为XML(我知道密码),c#,excel,passwords,xls,C#,Excel,Passwords,Xls,我有一个密码保护的XLS(数据不受保护,添加列被禁用)。代码如下: _excelApp.DisplayAlerts = false; _excelApp.Visible = false; //opens workBook = _excelApp.Workbooks.Open(InputDirectory + CharacterFileName, Type.Missing, Type.Mis

我有一个密码保护的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(错误)

错误是法语,因为我使用法语。


有什么帮助吗?谢谢

翻译的错误是:

“您试图录制的工作簿受密码保护。受密码保护的文件夹不能存储在XML电子表格中。若要将此文件另存为XML电子表格,必须先删除密码。”(转到Google translate!)


这是出于设计,因此唯一的解决方法是删除密码,然后保存它。

翻译的错误是:

“您试图录制的工作簿受密码保护。受密码保护的文件夹不能存储在XML电子表格中。若要将此文件另存为XML电子表格,必须先删除密码。”(转到Google translate!)


所以这是设计的,所以唯一的方法是删除密码,然后保存它。

好的,所以我要做的是:

//unprotect the workbook
ExcelHelperWorkbook.Unprotect(password);

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

然后我可以运行SaveAs:)

好的,我要做的是:

//unprotect the workbook
ExcelHelperWorkbook.Unprotect(password);

//unprotect the first worksheet
((Worksheet)ExcelHelperWorkbook.Worksheets.get_Item(1)).Unprotect(password);
然后我可以运行SaveAs:)

以任何方式在C#中实现自动化?查看此线程:以任何方式在C#中实现自动化?查看此线程: