[尝试通过C#Interop保存只读Excel文件时出错

问题描述 投票:0回答:1

我想在WPF中保存一个受密码保护的Excel文件,其中通过Microsoft Interop更改了1个单元格。

我试图做的是,在禁用了只读模式的情况下打开Excel文件。我尝试通过编写以下代码来实现它:

Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(excelFilename, Type.Missing, false, Type.Missing,
                password, password, true, Type.Missing, Type.Missing, true, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing);

[请忽略与密码有关的任何安全性问题,因为此代码仅用于说明目的。

.Open()方法中的第三个参数指定ReadOnly对象,该对象设置为false。.Open()方法中的第七个参数指定IgnoreReadOnlyRecommended对象,该对象设置为true。通过这样做,我本以为可以在不启用只读模式的情况下打开Excel文档,但事实并非如此。

我还通过编写以下代码来禁用通常向用户显示的Excel警报:

xlApp.DisplayAlerts = false;

每次运行这段代码:

xlWorkbook.SaveAs(excelFilename);

我收到以下异常:system.runtime.interopservices.comexception 'cannot access read-only document...'

我想在WPF中保存一个受密码保护的Excel文件,其中通过Microsoft Interop更改了1个单元格。我试图做的是打开带有只读模式的Excel文件。我尝试过...

c# excel wpf interop
1个回答
0
投票

您的代码正确。

© www.soinside.com 2019 - 2024. All rights reserved.