【发布时间】:2011-11-18 19:01:49
【问题描述】:
我不知道这是否可行,但我想在我的 MVC3 项目中添加对 MS office 的程序引用。
更具体地说,我希望能够使用内置的 Office 对象以编程方式创建编辑并发送动态生成的 Office 文档。与使用第三方 FOSS API 相比,我更喜欢使用对象的直接 MS 版本,因为我有很多 VBA 知识,并且认为直接使用 MS-Office“胆量”将是一个对我来说容易多了。
假设 office 正确安装在运行它的服务器上,我应该能够直接从 C# MVC 中引用和编写 Office 应用程序,对吧?
我想我可能正在寻找 3 样东西
- C# 的
using Microsoft.Office;指令 - 我必须注册的DLL名称
regsvr32 <pathname>/<officeDLLname>.dll - 我在 Visual Studio 中添加对 MVC3 项目的引用的方式
除非我还缺少其他任何东西,否则我希望能够从那里创建一个新的 Excel 对象并让 Web 服务器构建它。
Excel objXL = new Microsoft.Office.Excel();
objXL.<do stuff>;
objXL.Save(<bla bla bla>);
' profit!
谢谢
【问题讨论】:
-
您还需要添加对 dll 的引用,并且您还需要在服务器上安装 office,因为 office com 组件实际上运行 office 程序以实现功能。
-
不,不要这样做 - 办公室对象aren't built for non-interactive use。相反,有很多库可用于例如creating Excel files from C#
-
感谢@Rup support.microsoft.com/kb/257757 文章的后半部分有我要找的东西
Alternatives to server-side Automation
标签: c# visual-studio-2010 asp.net-mvc-3 vba ms-office