用C#将受密码保护的Excel文件保存为XML(我知道密码)
我有一个密码保护的XLS(数据不受保护,添加列被禁用)。代码如下:用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
_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#中实现自动化?查看此线程: