Open xml-ersetzen von text aus word-Datei und Rückkehr Speicher-stream mit MVC

Ich habe eine word-Datei enthält meine angegebenen Muster text {Muster} und ich will, dass solche zu ersetzen, die Muster mit der neuen my-string, der gelesen wurde aus der Datenbank. So habe ich open xml Lesen stream von meiner docx-Vorlage-Datei die ersetzen meine Muster-string dann wieder in Strom, die Unterstützung von download-Datei ohne das erstellen einer temporären Datei. Aber wenn ich öffnete es generiert mir Fehler auf docx-Datei. Unten ist mein Beispiel code

public ActionResult SearchAndReplace(string FilePath)
{
    MemoryStream mem = new MemoryStream(System.IO.File.ReadAllBytes(FilePath));
    using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(mem, true))
    {
        string docText = null;
        using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
        {
            docText = sr.ReadToEnd();
        }

        Regex regexText = new Regex("Hello world!");
        docText = regexText.Replace(docText, "Hi Everyone!");

//Instead using this code below to write text back the original file. I write new string back to memory stream and return to a stream download file
        //using (StreamWriter sw = new //StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
        //{
        //   sw.Write(docText);
        //}

        using (StreamWriter sw = new StreamWriter(mem))
                    {
                        sw.Write(docText);
                    }
    }
    mem.Seek(0, SeekOrigin.Begin); 

    return File(mem, "application/octet-stream","download.docx"); //Return to download file
}

Bitte machen Sie mir irgendwelche Lösungen statt Lesen einen text aus einer word-Datei und ersetzen Sie die erwarteten Muster-text schreiben Sie dann die Daten zurück auf die ursprüngliche Datei. Gibt es irgendwelche Lösungen ersetzen von text mit WordprocessingDocument Bibliothek? Wie kann ich wieder zur Erinnerung stream mit Validierung docx-Datei-format?

InformationsquelleAutor nvtthang | 2011-04-15
Schreibe einen Kommentar