c# - 在当前实例中打开现有的 Excel 文件

标签 c# excel excel-addins

我用 C# 语言为 Office 2013 编写了一个 Excel 插件。

我知道有几种方法可以打开现有的 Excel 文件,但所有这些方法都可以在 Excel 的新实例中打开文件。

我有一个 Excel 的当前实例,当有人点击一个按钮时,新文件会在当前文件中打开(不是新文件)!

例如我使用下面的一段代码:

Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
string workbookPath = (@"C:\Downloads\Sample.xlsx");
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath,
    0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
    true, false, 0, true, false, false);

但此代码会在 excel 文件的新实例中打开 Sample.xlsx。

有什么想法吗?

提前致谢。

最佳答案

不创建新对象,而是使用 Marshal.GetActiveObject :

Excel.Application excelApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

关于c# - 在当前实例中打开现有的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782327/

相关文章:

javascript - 无法从 Asp.NET 中的 C# 调用 javascript 函数

Excel VBA Application.OnTime - 两个 Subs - 更简洁的代码

vba - 找不到 Excel VBA 文件

c# - 在 C# 中使用 Excel.Interop 检查范围是否具有名称

c# - 将 ASP.NET 应用程序部署到 Web 服务器所需的最少文件

c# - 将图像从独立存储加载到可观察集合不起作用

c# - PredicateBuilder 是如何工作的

python - 如何使用 XLWT Python Excel 将样式应用到整行?

Excel 公式检查单元格内容

excel - 如何在 .BeforeClose() 事件上启动插件代码