Word无法读取此文档.它可能是腐败的

本文关键字:读取 文档 Word | 更新日期: 2023-09-27 18:05:05

我有一个asp.net应用程序,它使用word模板在电子邮件中生成文档附件。最初我将模板放在本地驱动器上进行测试,但是现在我准备将应用程序放在服务器上进行测试时,我遇到了一个问题。如果我将模板放在应用程序的文件夹中(仍然从Visual studio运行)或网络驱动器中,我会收到错误:

Word was unable to read this document.  It may be corrupt.'nTry one or more of the following:'n* Open and Repair the file.'n* Open the file with the Text Recovery converter."}
Data: {System.Collections.ListDictionaryInternal}
ErrorCode: -2146823137
HResult: -2146823137
HelpLink: "C:''Program Files (x86)''Microsoft Office''Office12''1033''WDMAIN11.CHM#24631"
InnerException: null
Message: "Word was unable to read this document.  It may be corrupt.'nTry one or more of the following:'n* Open and Repair the file.'n* Open the file with the Text Recovery converter."

我桌面上有Word 2007。我可以通过双击网络驱动器打开文档。我试过把扩展名从。dotx &甚至重命名文件-没有做任何事情。我在线搜索的结果要么不属于我,要么没有帮助(权限问题,但我在应用程序本身的模板中收到错误)。

我代码:

object templateDoc = "''network path''ServiceRequestForm.dotx";
            object outputDoc = @"C:'temp'ServiceRquestFormOutput.docx";
            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
            object missing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Add(ref templateDoc, ref missing, ref missing, ref missing);
            doc.Activate();
            Microsoft.Office.Interop.Word.Find fnd = wordApp.Selection.Find;
            SearchReplace(fnd, wordApp, "%date%", date);
            SearchReplace(fnd, wordApp, "%routingto%", routingTo);

错误来自行:

Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Add(ref templateDoc, ref missing, ref missing, ref missing);

至于我使用MS.Office.Interop.Word…做这件事,不要问我为什么不这样做,那样做,你的方式,任何方式……如果你没有任何可以帮助你继续前进的东西。

Word无法读取此文档.它可能是腐败的

因此,尽管承认这很尴尬,但我没有将我的文档签入源代码管理。一旦我这样做,错误就消失了,我没有更多的问题(到目前为止!)。嗯…啊!