我尝试使用OpenXML打开word文档,并在修改后,将修改后的版本作为可下载文件返回给用户。至于这个的可下载部分,我已经涵盖了,在那里,我修改我的响应只是返回一个word文档。但是,我遇到的问题是成功打开和修改word文档。虽然我能够提供要下载的文档,但该文件始终是'#34;腐败"当我打开它时。
我有一个非常简单的代码片段,它仍然会返回一个损坏的word文档。在我打开文件的那一刻(因为我已经从这个片段中删除了所有修改),这几乎就像文件变得腐败一样。
Private Function GenerateExportWithTemplate() As MemoryStream
Dim template As Byte() = System.IO.File.ReadAllBytes(strTemplateFileName)
Using ms As New MemoryStream()
ms.Write(template, 0, template.Length)
Using doc As WordprocessingDocument = WordprocessingDocument.Open(ms, True)
'Code to modify word document.
End Using
Return ms
End Using
End Function
我不相信我完全理解上面代码段中发生的事情。任何解释为什么我收到一个损坏的文件将不胜感激。
如何从模板文件成功打开和修改WordProcessingDocument,并作为内存流返回?虽然有一百万个如何打开文件和进行修改的例子,但我还没有找到一个成功的例子。意思是,文件每次都被破坏。如何在没有收到损坏的Word文档的情况下执行此操作?