打开并修改Word文档

ila*_*olo 18 c# asp.net ms-word ms-office

我想使用"Microsoft.Office.Interop.Word"打开保存在我的服务器中的word文件.这是我的代码:

    object missing = System.Reflection.Missing.Value;
    object readOnly = false;
    object isVisible = true;
    object fileName = "http://localhost:52099/modelloBusta/prova.dotx";
    Microsoft.Office.Interop.Word.ApplicationClass applicationWord = new Microsoft.Office.Interop.Word.ApplicationClass();
    Microsoft.Office.Interop.Word.Document modelloBusta = new  Microsoft.Office.Interop.Word.Document();

    try
    {

        modelloBusta = applicationWord.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref  missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible,ref missing, ref missing, ref missing, ref missing);
        modelloBusta.Activate();



    }
    catch (COMException eccezione){
        Console.Write(eccezione);
        modelloBusta.Application.Quit(ref missing, ref missing, ref missing);

    }
Run Code Online (Sandbox Code Playgroud)

在Windows任务管理器中,该过程存在,但不显示"word文档"(应用程序无法启动).问题是什么?提前致谢.

Dir*_*mar 21

您需要确保在自动执行Word时实际显示Word应用程序窗口:

var applicationWord = new Microsoft.Office.Interop.Word.Application();
applicationWord.Visible = true;
Run Code Online (Sandbox Code Playgroud)


小智 7

首先通过直接添加到资源来添加office.interop的dll,然后使用using指令添加:

using Microsoft.Office.Interop.Word;
Run Code Online (Sandbox Code Playgroud)

并使用以下代码

Application ap = new Application();
Document document = ap.Documents.Open(@"C:\invoice.docx");;
Run Code Online (Sandbox Code Playgroud)


小智 5

http://support.microsoft.com/kb/257757

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或Office在此环境中运行时出现死锁或死锁.

http://freeword.codeplex.com/

Document document = new Document();
document.LoadFromFile("test.doct");
Run Code Online (Sandbox Code Playgroud)

  • 需要注意的是,虽然这种方法有效,但它有局限性:Spire.Doc免费版限制为100段.在读取或写入文件期间强制执行此限制.升级到Spire.Doc的商业版<http://www.e-iceblue.com/Introduce/word-for-net-introduce.html> (4认同)