C# MVC 4: Créer un Document Word et de les télécharger sans l'enregistrer dans le disque

C'est probablement ce qui a une réponse très simple, mais je ne peux pas le trouver.

J'ai un projet à l'aide de C# MVC 4 à l'aide de Microsoft.Bureau de.Interop.Mot 12

Dans une action j'essaie de créer dynamiquement un fichier Word (à l'aide d'une base de données pour les informations) et puis je veux la télécharger. Le fichier n'existe pas (il est créé à partir de zéro) et je ne veux pas de l'enregistrer sur le disque (il n'a pas besoin d'être sauvés parce que son contenu est dynamique).

C'est le code pour l'instant:

public ActionResult Generar(Documento documento)
{
    Application word = new Application();
    word.Visible = false;

    object miss = System.Reflection.Missing.Value;
    Document doc = word.Documents.Add(ref miss, ref miss, ref miss, ref miss);

    Paragraph par = doc.Content.Paragraphs.Add(ref miss);
    object style = "Heading 1";
    par.Range.set_Style(ref style);
    par.Range.Text = "This is a dummy test";

    byte[] bytes = null;  //This is the part i need to get the bytes of the doc object
    doc.Close();

    word.Quit();

    return File(bytes, "application/octet-stream", "NewFile.docx");
}
Au lieu de cela, utilisez l'une des diverses bibliothèques visual C# qui mettent en œuvre le format DOCX.
Vous devez l'enregistrer sur le disque. Word est basé sur un fichier, de sorte que vous êtes en vie va être beaucoup plus facile si vous venez de créer un fichier temporaire. Comme d'autres l'ont mentionné, le Mot n'est pas vraiment conçu pour ce genre de chose.
Quelqu'un d'entre vous avez une meilleure solution? Parce que je ne peux pas penser à ce genre de problèmes que je pourrais avoir avec cette approche et l'enregistrement du fichier, je pense toujours que est inutile.
Une meilleure solution est ici: docx.codeplex.com
Suivez ce lien c-sharpcorner.com/UploadFile/muralidharan.d/... c'est à l'aide de Microsoft.Bureau de.Interop

OriginalL'auteur prueba prueba | 2013-05-22