2011-06-24 139 views
1

我有密碼保護的XLS(數據未受到保護的列中添加禁用)。這是代碼:保存密碼保護的Excel文件在C#中的XML(我知道密碼)

_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(ERROR)

的錯誤是在法國,因爲我使用.NET法國「您所要拍攝的工作簿受密碼保護。文件夾受密碼保護不能被保存在一個XML電子表格,以保存該文件作爲XML的電子表格,您必須首先刪除密碼「。

任何幫助嗎?由於

回答

0

好吧所以我不得不做的是:

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

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

然後,我可以在C#運行另存爲:)

1

翻譯的錯誤是:

「工作簿你嘗試嘗試記錄是由密碼保護的密碼文件夾保護,不能在一個XML電子表格要將此文件保存爲XML電子表格進行存儲,..你必須首先刪除密碼「。 (去谷歌翻譯!)

所以這是由設計,所以唯一的出路就是刪除密碼,然後保存它。

+1

任何方式PLC? – MoreCoffee

+0

看看這些線:http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/9864c1ab-3efe-4d7c-8ff3-ca8858af3c22/ – Bravax