我要求在ASP.Net MVC4 Web应用程序(使用C#)中将html模板下载为OFT文件。我已经尝试过Microsoft.Office.Interop.Outlook,它在我的本地计算机上运行良好但无法在服务器中运行。它需要在服务器中安装Outlook,我还听说在Web服务器的服务器中自动化MS office应用程序并不是一个好习惯。是否可以在不使用MS Office Outlook的情况下创建文件? 有没有免费的图书馆?任何人都知道解决方案,请帮助。
答案 0 :(得分:1)
OFT文件是具有不同类GUID的MSG文件。 MSG文件是OLE存储(IStorage)文件。
由于MSG文件格式为documented,您可以创建一个CLSID为{0006F046-0000-0000-C000-000000000046}的MSG文件,而不是{00020D0B-0000-0000-C000-000000000046}。
您也可以使用Redemption - 其RDO family of objects可以在服务中使用,您只需要确保安装了具有匹配位的Outlook(Redemption使用Outlook安装的MAPI系统,不是Outlook对象模型,不能在服务中使用。)
VB脚本:
set Session = CreateObject("Redemption.RDOSession")
set Msg = Session.CreateMessageFromMsgFile("c:\Temp\TestMsg.msg")
Msg.Body = "This is a test template"
Msg.Subject = "Template"
Msg.Save
Msg.SaveAs "c:\Temp\TestTemplate.oft", olTemplate
C#(脱离我的头脑):
Redemption.RDOSession rSession = new Redemption.RDOSession();
Redemption.RDOMail Msg = rSession.CreateMessageFromMsgFile("c:\Temp\TestMsg.msg");
Msg.Body = "This is a test template";
Msg.Subject = "Template";
Msg.Save();
Msg.SaveAs("c:\Temp\TestTemplate.oft", Redemption.rdoSaveAsType.olTemplate);