【问题标题】:Excel XLSTART problem with C#/.NetC#/.Net 的 Excel XLSTART 问题
【发布时间】:2010-11-18 15:28:46
【问题描述】:

我有一个 C# 应用程序 (.Net 1.1) 并使用 excel interop 来显示一些报告。事实证明,打开excel工作簿时,XLSTART中的文件没有被读取,就好像运行了/automation命令行开关一样。

在从 C# 启动 XLS 工作表时,有什么方法可以启用 XLSTART?

【问题讨论】:

    标签: c# .net excel


    【解决方案1】:

    此行为是设计使然。您可以按照 Microsoft 的说明自行加载 XLSTART 文件夹中的加载项:

    Add-ins do not load when using the CreateObject command in Excel

    您的另一个选择是使用Process.Start 启动Excel,然后通过调用AccessibleObjectFromWindow 函数从正在运行的实例中启动一个自动化对象。

    如何在 C# 或 VB 中执行此操作的示例代码可以在相关问题中找到:

    How to use use late binding to get excel instance?

    请注意,您不必像给出的示例中那样使用后期绑定。像这样修改示例应该会给你一个强类型的Excel.Application 对象:

    Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
        BindingFlags.GetProperty, null, ptr, null);
    

    【讨论】:

      【解决方案2】:

      因为它使用互操作,所以它将 Excel 作为自动化服务器打开。这与使用 /automation 开关相同。以这种方式打开 Excel 时,所有自动打开的文件和自动运行的宏都将被禁用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-22
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 2012-08-10
        • 1970-01-01
        • 2011-07-28
        相关资源
        最近更新 更多