私のコードは以下です。Open XML で Word ドキュメントを開こうとしていて、特定のテキストを変更しようとしています。次に、ドキュメントをクライアントに送信して、PC に保存したり開いたりする必要があります。クライアントにドキュメントを送信しますが、空白です。InMemory ドキュメントを保存すると、ファイルを開くことができないと表示されます。このファイルには、少なくとも 1 つのルート要素が含まれている必要があります。Visual STudio 2010 Express を使用しています。私を助けてください。コードの何が問題になっていますか?
Dim fileName As String = "directory on server\doc.docx"
Dim myDocument As WordprocessingDocument = WordprocessingDocument.Open(fileName, True)
Dim docText As String = Nothing
Dim sr As StreamReader = New StreamReader(myDocument.MainDocumentPart.GetStream)
docText = sr.ReadToEnd
sr.Close()
Dim regexText As Regex = New Regex("XXXCourtXXX")
docText = regexText.Replace(docText, "JOHANNESBURG")
Dim ms As New MemoryStream()
Dim sw As StreamWriter = New StreamWriter(ms)
sw.Write(docText)
myDocument.MainDocumentPart.FeedData(ms)
Dim mem = New MemoryStream()
myDocument.MainDocumentPart.GetStream().CopyTo(Response.OutputStream)
Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
Response.AppendHeader("Content-Disposition", "attachment;filename=Notice.docx")
mem.Position = 0
mem.CopyTo(Response.OutputStream)
Response.Flush()
Response.End()