是否可以使用C#在excel工作簿中编写功能

时间:2012-06-30 18:20:10

标签: c# excel vba

我有一个excel工作簿,需要从HTTP服务器查询数据。直接从远程数据库查询不是一个选项。

据我所知,我可以使用VB宏来联系HTTP服务器并更新工作簿中的单元格。是否可以在C#中执行此操作?我不想承担部署额外申请的额外负担。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用VSTO在Excel中创建文档或应用程序级别。看这里http://msdn.microsoft.com/en-us/office/hh128771.aspx

答案 1 :(得分:1)

按照前几个repro steps here创建用于Office的Visual Studio工具 - Excel加载项。

跳过关于日历控件的最后一步。

  

在Excel AddIn项目中>你可以添加一个功能区栏和按钮   调用通过http收集数据的方法并刷新工作簿。   VSTO中的所有内容与完成此操作的方式完全相同   在VBA中,但在C#语法中。

Extend Your VBA Code With VSTO

在部署时,您应该使用安装项目,它将创建一个MSI。 如果您在部署时需要知道App.Config文件,则需要设置安装项目以添加注册表项:https://stackoverflow.com/a/10525693/495455

我强烈推荐此博客,以获取有关通过.Net代码更好地进行VSTO内存管理的提示: http://jake.ginnivan.net/