什么是当前使用C#扩展Excel的最佳方式?

问题描述:

我有专业版VS2008 & VS2010。什么是当前使用C#扩展Excel的最佳方式?

我希望将几个按钮添加到Excel中的工具栏。当他们被点击时,我希望能够打开表单(WinForms或WPF很好)从表单中的用户收集一些值,然后从当前工作表中获取该数据+读取单元格值以执行一些数据库操作。

目前使用C#做到这一点的最好方法是什么?我非常感谢指向任何示例/教程的指针。我的理解是,VS2010已经改进了这个过程,但我可能不得不处理w/Excel 2003,我认为它不支持。

我对Visual Studio 2008s Extensibility-> Shared Addin模板和我见过的其他Office Addin模板感到困惑。我不确定何时哪种解决方案适合。

我是新开发的Office,所以我非常感谢任何帮助,让我走上正轨。

非常感谢。

一对夫妇的出发点:

此外,要探索 .NET Excel Wrapper

.NET Excel包装由于使用.NET和 Excel而产生的 沮丧。 .NET Interop.Excel的文档很少,并且 API膨胀而难以理解 参数和方法会抛出 未知错误。

什么.NET的Excel包装的目的是做的是 技术进行复杂与Excel使用.NET的 和提高你的生产力 ,提高代码的可读性 和减少的代码,你需要 写的金额。

使用.Net扩展办公室的默认方法是VSTO。 VSTO确实支持Excel/Office 2003;如果您在Visual Studio中选择了Office 2003项目,则它将支持2003及更高版本,但通过支持2003,您将放弃某些可用于Office 2007及更高版本的功能 - 例如功能区或自定义任务窗格。
除了KMan提到的链接外,我还在我的博客上发布了一系列文章,其中提供了creating a Excel 2007 add-in with VSTO的演练,您可能会发现它们很有用。