2010-05-11 4 views

Répondre

2

Je préfère éviter la route com et au lieu de générer la doc dans le flux de réponse. Cela a vraiment bien fonctionné pour moi. J'espère que cela aide. OfficeWriter est une API DOC et DOCX optimisée pour l'utilisation d'ASP.NET.

 Response.ContentType = "application/msword"; 
     Response.ContentEncoding = System.Text.UnicodeEncoding.UTF8; 
     Response.Charset = "UTF-8"; 
     Response.AppendHeader("Content-Disposition", "attachment; filename=" + "mydoc.doc"); 

     Response.Write("<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>"); 
     Response.Write("<head>"); 
     Response.Write("<!--[if gte mso 9]> <xml> <w:WordDocument> <w:View>Print</w:View> <w:Zoom>100</w:Zoom> <w:DoNotOptimizeForBrowser/> </w:WordDocument> </xml> <![endif]-->"); 
     Response.Write("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"\"text/html; charset=UTF-8\"\">"); 
     Response.Write("<meta name=ProgId content=Word.Document>"); 
     Response.Write("<meta name=Generator content=\"Microsoft Word 9\">"); 
     Response.Write("<meta name=Originator content=\"Microsoft Word 9\">"); 
     Response.Write("</head>"); 
     Response.Write("<body>"); 
     Response.Write("<div class=Section2>"); 

     // write some content here 

     Response.Write("</body>"); 
     Response.Write("</html>"); 
     HttpContext.Current.Response.Flush(); 
+0

Merci. Je vais vérifier cela. Bien dans la section de codage des tâches de script, Comment se fait-il que je ne peux pas maintenir les fichiers que j'avais ajoutés pour référence? Chaque fois que je vais pour Edit Script, je dois ajouter le fichier de référence pour reprendre le codage. Y a-t-il d'autres paramètres pour maintenir les fichiers ajoutés pour référence? –

+0

et quel est l'espace de noms à inclure pour obtenir "Réponse"? Je ne reçois pas System.Web.HttpResponse !!!!!!! –

+0

Je ne suis pas votre premier commentaire. Peut-être que vous pourriez expliquer plus loin et quelqu'un pourrait intervenir. Quant à la réponse, si vous l'appelez de votre formulaire Web, vous devriez juste être en mesure d'utiliser tel quel. Impair. Vous voudrez peut-être essayer Page.Response ou Context.Response ou System.Web.HttpContext.Current.Response. – earthling