为什么我的 Web 应用程序使用 Microsoft.Office.Interop.Word 会超时?

发布于 2024-10-18 08:18:15 字数 323 浏览 5 评论 0原文

我一直在我的网络服务器中使用 Microsoft.Office.Interop.Word (是的,我知道不推荐)。当我在我的机器上运行它时,它运行良好,但是当在服务器上运行时,我在以下行中遇到超时:

Documents.Open //when trying to open the file.

我缺少什么吗?有没有更好的方法在网络服务器/网站中编辑 Word 文档? (我无法使用字符串生成器创建新的字符串或输出到文件中;我需要编辑服务器上的现有字符串。)

任何输入都将受到赞赏,因为我已经在这方面坚持了几天了......

I have been using using Microsoft.Office.Interop.Word in my webserver (yes, i know it is not recommended). When I ran it on my machine, it runs fine, but when running on the server I get a timeout on the following line:

Documents.Open //when trying to open the file.

Is there something I'm missing? Is there a better way to edit a Word document within web servers/websites? (I can't create a new one using string builder or outputting into file; I need to edit an existing one that sits on the server.)

Any input will be appreciated as I'm stuck on this for few days already...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

_畞蕅 2024-10-25 08:18:15

切勿从服务器应用程序使用任何 Office 应用程序。它不受支持,很可能是非法的,而且无论如何,它不起作用。

Never use any of the Office applications from a server application. It's unsupported, quite possibly illegal, and in any case, doesn't work.

可是我不能没有你 2024-10-25 08:18:15

仅仅因为您可以在服务器上使用 Office 应用程序并不意味着您应该这样做。问题之一是办公自动化是单线程的。

John Saunders 是对的,商业产品是在服务器上创建 Word 文档的好方法。 Aspose 生产了一款可以做到这一点的产品,他们的竞争对手 SoftArtisans 也做到了这一点,我曾与 SoftArtisans 合作过一段时间。虽然我知道可以创建 Excel 文件的开源产品,但我还没有找到任何用于 Word 的产品。

最后一点:.xlsx 和 .docx 文件格式的 API 是公共的。然而,它们并不是很容易使用。

Just because you can use Office applications on the server doesn't mean you should. Among the problems is that Office automation is single-threaded.

John Saunders is right that commercial products are a good way to go to create a Word document on the server. Aspose makes a product that does it, as does their competitor, SoftArtisans, with whom I worked for a short time. Though I know of open source products that can create Excel files, I haven't found any for Word.

One last bit: the APIs for the .xlsx and .docx file formats are public. They aren't terribly easy to use, however.

你怎么这么可爱啊 2024-10-25 08:18:15

我认为你的服务器中没有Office。最好的方法是使用DocX来修改docx文件。
https://docx.codeplex.com/

     using (DocX document = DocX.Load(filename))
        {
            document.ReplaceText(a, b);
            document.Save();
        } 

I think you dont have Office in server.The best way is use DocX for modify docx files.
https://docx.codeplex.com/

     using (DocX document = DocX.Load(filename))
        {
            document.ReplaceText(a, b);
            document.Save();
        } 
极致的悲 2024-10-25 08:18:15

自从 Office 97 发布以来,我就在服务器上运行了自动化办公应用程序,无论是 C++ 还是 C#,都没有出现任何问题。他们每天生成数百份报告,包括排队报告和按需报告,根据要求以多种格式生成,所有报告均由来自 Word 模板和文档的输出扩展名(doc/docx、xls/xlsx、pdf、html、bmp、jpg)驱动。从共享程序集中的函数生成的数据表。

自动化挂起通常是由参数错误或丢失引起的,对于 Web 服务器和自动化服务器,写入事件日志是确定问题出现位置的关键。制作一个良好的可重用函数库来实现自动化并测试它们的垃圾。然后在其他项目中使用它是微不足道的,您不会浪费时间不断解决问题。

I've had automated office applications running on servers since office 97 came out, without issue, in both C++ and C#. They generate several hundred reports every single day, both queued and on demand, in multiple formats, depending on requirements, all driven by the output extension (doc/docx, xls/xlsx, pdf, html, bmp, jpg) from word templates and DataTables generated from functions in shared assemblies.

Automation hangs are usually caused by bad or missing arguments and with web servers and automation servers, writing to the event log is key to determining where issues arise. Make a good reusable library of functions to do the automation and test the crap out of them. Then using it in other projects is trivial and you won't waste time continually working out issues.

奈何桥上唱咆哮 2024-10-25 08:18:15

权限,权限和权限,
谷歌例如办公室互操作 DCOMCNFG

permissions, permissions and permissions,
google for example office interop DCOMCNFG

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文