C# -Excel 互操作性
Posted
技术标签:
【中文标题】C# -Excel 互操作性【英文标题】:C# -Excel interoperability 【发布时间】: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”。请改用适用的接口。
什么是灵魂?
【问题讨论】:
【参考方案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();
【讨论】:
以上是关于C# -Excel 互操作性的主要内容,如果未能解决你的问题,请参考以下文章