我尝试打开密码保护的.xlsx文件(Excel 2007格式),而无需手动输入密码.我已经安装了Excel 2003和Microsoft Office兼容包,可在打开时转换文件.
以下代码有效,但它提示输入密码.
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);
Run Code Online (Sandbox Code Playgroud)
如果我使用相同的代码打开.xls文件(Excel 2003),它可以在不提示输入密码的情况下工作.打开.xlsx没有密码保护的文件也可以.
如何在.xlsx不提示使用Excel 2003和Microsoft Office兼容包的密码的情况下打开受密码保护的文件?
来自类似问题的技巧将readonly参数(3rd)更改为true
ExcelWorkbook = ExcelApp.Workbooks.Open("C:\\temp\\test.xlsx",MissingValue, true, MissingValue,pwd);
Run Code Online (Sandbox Code Playgroud)
在这里不起作用.