【问题标题】:C# -Excel interoperabilityC# -Excel 互操作性
【发布时间】:2010-12-27 17:29:08
【问题描述】:

我想从 C# 4.0 (VS 2010 Express Edition) 调用 Excel Sheet。

当我声明时,

Microsoft.Office.Interop.Excel.ApplicationClass excel =
    new Microsoft.Office.Interop.Excel.ApplicationClass();

excel.Visible = true;

我收到错误

无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口。

什么是灵魂?

【问题讨论】:

    标签: excel c#-4.0


    【解决方案1】:

    Here 是一篇处理该问题的博文。看起来你需要改变

    Microsoft.Office.Interop.Excel.ApplicationClass();
    

    Microsoft.Office.Interop.Excel.Application();
    

    【讨论】:

      【解决方案2】:

      对我来说,答案是将 Embed Interop 类型标记为 false。请参阅this 问题。

      【讨论】:

        【解决方案3】:

        已解决:

        Excel.ApplicationClass 派生自Excel.Application 接口,甚至可以使用Excel.Application 接口实例化Excel。 如下重写此代码会产生完全相同的结果:

        Excel.Application xlapp = new Excel.Application();
        

        【讨论】:

          【解决方案4】:

          您需要将变量声明为Microsoft.Office.Interop.Excel.Application,但将其实例化为Microsoft.Office.Interop.Excel.ApplicationClass

          【讨论】:

            【解决方案5】:
            Excel.Application = new Excel.ApplicationClass();
            

            注意前导Excel.Application,而不是Excel.ApplicationClass

            另请注意,这直接来自MSDN page for ApplicationClass

            【讨论】:

              【解决方案6】:

              MS Office 2016 需要使用以下无剧集

              Excel.Application oExcel = new Excel.Application();
              

              【讨论】:

                猜你喜欢
                • 2017-10-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多