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

时间:2010-05-07 20:58:24

标签: c# .net ms-office vsto office-interop

我有专业版的VS2008& VS2010。

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

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

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

我是Office开发的新手,所以我非常感谢能帮助我走上正确的道路。

非常感谢。

2 个答案:

答案 0 :(得分:2)

有两个起点:

另外,你想要探索 .NET Excel Wrapper

  

.NET Excel包装器诞生了   使用.NET和挫败感   Excel中。 .NET的文档   Interop.Excel是非常稀缺的   API臃肿,难以理解   抛出的参数和方法   未知错误。

     

.NET Excel Wrapper的目标是做什么   把复杂性从工作中解脱出来   使用.NET中的Excel并增加您的   提高生产力,提高代码可读性   并减少您需要的代码量   写。

答案 1 :(得分:1)

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