加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C#中使用密码打开EXCEL(.xlsx)

发布时间:2020-12-15 23:31:18 所属栏目:百科 来源:网络整理
导读:我尝试打开密码保护的.xlsx文件(Excel 2007格式),而无需手动输入密码.我已经安装了Excel 2003和 Microsoft Office Compatibility Pack,它在打开时转换文件. 以下代码有效,但它提示输入密码. Microsoft.Office.Interop.Excel.Application ExcelApp;Microsoft.
我尝试打开密码保护的.xlsx文件(Excel 2007格式),而无需手动输入密码.我已经安装了Excel 2003和 Microsoft Office Compatibility Pack,它在打开时转换文件.

以下代码有效,但它提示输入密码.

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:temptest.xlsx",MissingValue,pwd);

如果我使用相同的代码打开.xls文件(Excel 2003),它可以在不提示输入密码的情况下运行.打开没有密码保护的.xlsx文件也可以正常工作.

如何在不提示使用Excel 2003和Microsoft Office兼容包的密码的情况下打开受密码保护的.xlsx文件?

从a similar problem开始,将readonly参数(3rd)更改为true

ExcelWorkbook = ExcelApp.Workbooks.Open("C:temptest.xlsx",true,pwd);

在这里不起作用.

解决方法

这可能会迟到,但对于任何未来的Interop用户,对我来说它的工作方式如下:

打开写

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

以只读方式打开

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读