首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中使用互操作以独占模式打开excel文件

在C#中使用互操作以独占模式打开excel文件
EN

Stack Overflow用户
提问于 2012-03-25 21:08:15
回答 2查看 2.7K关注 0票数 3

在我的应用程序中,我希望能够打开已经存在的excel文件,并向该文件中添加信息。我使用Microsoft Interop库。我注意到,如果您使用Add,然后使用Saveas创建一个新的电子表格,您可以将文件设置为独占模式,直到您关闭excel应用程序。

然而,我还没有找到在打开现有文件时执行相同操作的方法。我想这样做的原因是,如果我在打开应用程序的同时打开excel文件,那么我会得到一个异常。我假设当我使用excel打开excel文件时,它会自动以独占模式打开。

我想打开文件,然后使用saveas,但它不起作用。

代码语言:javascript
运行
复制
private object missing=Type.Missing;
workbook = workbooks.Open(excelfilename,missing, false, missing, missing, missing,missing,missing,missing,missing,false, missing,missing, missing, missing);
workbook.SaveAs((String)excelfilename, missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlExclusive, Excel.XlSaveConflictResolution.xlLocalSessionChanges, missing, missing, missing, missing); 

我在后面的代码中得到了异常:

代码语言:javascript
运行
复制
Excel.Range testrange = sheet.get_Range(rangetext);

我得到的异常是一个COMException,"Exception from HRESULT: 0x800401A8“。

EN

回答 2

Stack Overflow用户

发布于 2012-03-25 21:41:41

查看Workbook类的ExclusiveAccess属性:http://msdn.microsoft.com/en-US/library/microsoft.office.tools.excel.workbook.exclusiveaccess(v=vs.80).aspx

票数 0
EN

Stack Overflow用户

发布于 2012-03-28 11:08:31

您可以访问this article获取有关如何使用Microsoft interop库打开excel文件/添加新工作表/获取范围和设置属性的完整示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9860336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档