关于Microsoft.Office.Interop.Word。
我在我的Web服务器中安装了PIA和Microsoft Office 2010,但是当我运行在我的Web服务器上发布的应用程序时,我无法生成.doc。当我在localhost中运行我的应用程序时,工作正常,并生成.doc文件。
我必须在服务器端进行一些配置才能生成.doc文件?
答案 0 :(得分:3)
请记住,Office 2010并非设计为在Web服务器内运行(例如,可能无法保证线程安全),因此您可能会遇到更多困难。
相反,请考虑使用Open SDK 2.0 from Microsoft,它允许您操作(创建,编辑)Office 2010文档,这些文档只是打包(压缩)的XML文件。该技术更适合服务器使用。它也不要求您为要安装Office 2010的每个Web服务器分别拥有Office 2010许可证。
答案 1 :(得分:0)
您应该使用Open XML SDK。办公室互操作是过时的遗物,不应该使用。
下载链接:
http://www.microsoft.com/download/en/details.aspx?id=5124
以下是如何创建Word文档的简单示例:
public void HelloWorld(string docName)
{
// Create a Wordprocessing document.
using (WordprocessingDocument package = WordprocessingDocument.Create(docName, WordprocessingDocumentType.Document))
{
// Add a new main document part.
package.AddMainDocumentPart();
// Create the Document DOM.
package.MainDocumentPart.Document =
new Document(
new Body(
new Paragraph(
new Run(
new Text("Hello World!")))));
// Save changes to the main document part.
package.MainDocumentPart.Document.Save();
}
}
有关详细信息,请参阅此MSDN文章:
http://msdn.microsoft.com/en-us/library/dd440953%28v=office.12%29.aspx
答案 2 :(得分:0)
MS在“类似服务器的场景”(IIS / ASP.NET是一种特殊的场景)中不支持Office Interop ...请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2
您的选择包括几个图书馆(免费和商业) - 例如:
关于您获得的例外情况:
由于Windows Vista已经引入了一些更改来阻止任何Windows服务(IIS只是一些特殊的服务)做任何“类似桌面”的事情 - 这是由于安全问题...解决这种情况你需要规避MS实施的安全措施 - 我绝对不建议......