我一直在我的网络服务器中使用Microsoft.Office.Interop.Word
(是的,我知道不推荐)。当我在我的机器上运行它时它运行正常,但是当在服务器上运行时,我在下一行上得到超时:
Documents.Open //when trying to open the file.
有什么我想念的吗?有没有更好的方法来编辑Web服务器/网站中的Word文档? (我无法使用字符串构建器创建新文件或输出到文件中;我需要编辑位于服务器上的现有文件。)
任何输入都会受到赞赏,因为我已经坚持了几天......
答案 0 :(得分:0)
切勿使用服务器应用程序中的任何Office应用程序。它不受支持,很可能是非法的,无论如何都不起作用。
答案 1 :(得分:0)
仅仅因为您可以在服务器上使用Office应用程序并不意味着您应该这样做。问题之一是Office自动化是单线程的。
John Saunders说对,商业产品是在服务器上创建Word文档的好方法。 Aspose制造的产品就像它的竞争对手SoftArtisans一样,我和他一起工作了很短的时间。虽然我知道可以创建Excel文件的开源产品,但我还没有找到任何Word文件。
最后一点:.xlsx和.docx文件格式的API是公共的。然而,它们并不是非常容易使用。
答案 2 :(得分:0)
我认为您在服务器中没有Office。最好的方法是使用DocX修改docx文件。 https://docx.codeplex.com/
using (DocX document = DocX.Load(filename))
{
document.ReplaceText(a, b);
document.Save();
}
答案 3 :(得分:0)
我已经在服务器上运行自动办公应用程序,因为Office 97在C ++和C#中都没有问题。它们每天生成数百个报告,排队和按需,以多种格式,具体取决于要求,所有报告均由字模板的输出扩展(doc / docx,xls / xlsx,pdf,html,bmp,jpg)驱动DataTables是从共享程序集中的函数生成的。
自动挂起通常由错误或缺少的参数以及Web服务器和自动化服务器引起,写入事件日志是确定问题出现的关键。创建一个良好的可重用函数库来进行自动化并测试它们的废话。然后在其他项目中使用它是微不足道的,你不会浪费时间不断解决问题。
答案 4 :(得分:0)
权限,权限和权限, google例如office interop DCOMCNFG