/ / Open EXCEL (.xlsx) com senha em c # - c #, excel

Abra o EXCEL (.xlsx) com senha em C # - c #, excel

Eu tento abrir senha protegida .xlsx arquivos (formato Excel 2007) sem digitar a senha manualmente. Eu instalei o Excel 2003 e o Pacote de Compatibilidade do Microsoft Office que converte o arquivo ao abrir.

O código a seguir funciona, mas solicita a senha.

Microsoft.Office.Interop.Excel.Application ExcelApp;
Microsoft.Office.Interop.Excel.Workbook ExcelWorkbook;
ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Object pwd = "xxx";
Object MissingValue = System.Reflection.Missing.Value;
ExcelWorkbook = ExcelApp.Workbooks.Open("C:\temp\test.xlsx",MissingValue, MissingValue, MissingValue,pwd);

Se eu usar o mesmo código para abrir um .xls Arquivo (Excel 2003), funciona sem solicitar a senha. Abertura .xlsx arquivos sem proteção por senha também funciona bem.

Como é possível abrir senha protegida .xlsx arquivos sem solicitar a senha com o Excel 2003 eo Microsoft Office Compatibility Pack?

O truque de um problema semelhante alterando o argumento readonly (3rd) para true

ExcelWorkbook = ExcelApp.Workbooks.Open("C:\temp\test.xlsx",MissingValue, true, MissingValue,pwd);

não funciona aqui.

Respostas:

5 para resposta № 1

Isso pode ser tarde, mas para qualquer futura pessoa com a Interop, para mim funcionou assim:

Para abrir para escrever

var WFile = new Excel.Application();
Excel.Workbook Wbook = WFile.Workbooks.Open("myFilepath", ReadOnly: false, Password: "mypassword");

Para abrir como somente leitura

var WFile = new Excel.Application();
Excel.Workbook Wbook = WFile.Workbooks.Open("myFilepath", ReadOnly: true, Password: "mypassword");