MIME-Type pour Excel XML (ASP.NET 3.5)
- Je utiliser CarlosAG-Dll qui crée un XML fichier Excel pour moi (à l'intérieur d'un MemoryStream).
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("content-disposition", "myfile.xml");
memory.WriteTo(Response.OutputStream);
Mon Problème, c'est que je reçois à côté client un myfile.xls (IE) ou myfile.xml.xls (FF), et donc obtenir un ennuyeux de sécurité avertissement à partir d'excel.
J'ai essayé aussi avec application/vnd.openxmlformats-officedocument.spreadsheetml.feuille (xlsx), mais alors il ne sera même pas ouvert.
J'ai donc besoin de réduire l' .xml et l'envoyer en tant que vnd.ms-excel (comment?) ou de prendre un autre type MIME (mais laquelle?).
edit: j'ai trouvé un bug description ici
Je me demande si c'est encore ouvert, et pourquoi?
OriginalL'auteur UNeverNo | 2011-11-17
Vous devez vous connecter pour publier un commentaire.
Utiliser comme cette
Pour Excel 2007 et au-dessus de la type MIME diffère
Voir la liste des types MIME
Office 2007 Format de Fichier des Types MIME
EDIT:
Pour plus de détails, voir ce lien
Consultez l'a édité une partie de la réponse, qui se trouve comme une solution à votre problème.
J'ai ajouté le "attachement" à mes tests, maintenant, mon client veut l'ouvrir avec mon xml standard de l'application (peut être rien d'ailleurs) après avoir cliqué sur ouvrir s'ouvre dans Excel (mais seulement dans IE). Si je le fais dans FF-il encore se transforme .xml.xls
Voir la dernière partie de la liaison: "Si le fichier n'a pas été dans le bon type MIME, l'utilisateur peut voir une deuxième invite, donc appuyez sur Non pour annuler la deuxième tentative d'ouverture. Ce problème se produit uniquement lors de l'utilisation de IE pour votre navigateur web. Ce problème est encore l'objet de recherches, mais un correctif n'est pas probable jusqu'à ce que Office 14 compte tenu de la nature de la complexité du code, et le fait que Excel ne veut pas baisser la mesure de sécurité pour la solution de contournement soit ouvert à des comportements sans une compréhension complète des conséquences pour d'autres utilisateurs du navigateur. ":)
Merci pour votre aide, je pense que je vais vivre avec le message d'avertissement pour l'instant...
OriginalL'auteur Prasanth
L'avertissement de sécurité n'est PAS sur le type MIME, c'est d'un côté client paramètre de sécurité, vous ne pouvez pas désactiver à partir du côté serveur !
Un autre point de changement
Response.AppendHeader("content-disposition", "myfile.xml");
:OU
Pour référence, voir http://www.ietf.org/rfc/rfc2183.txt
ÉDITER en tant que par commentaire:
SI le format n'est pas XLSX (Excel 2007 et plus) puis utilisez
myfile.xls
dans le code ci-dessus.merci - SI ce format vous vous référez a été introduit avec Excel 2000 - édité la réponse en conséquence...
J'ai aussi essayé .xls que l'extension mais puis-je obtenir le même message d'erreur (que j'essaie de l'ouvrir .xls mais cette extension diffère de contenu [xml]) @Codo: Yep, c'est ce que j'ai écrit dans mon post initial (au moins j'ai essayé ;-))
OriginalL'auteur Yahia
Si votre document est un Xml Excel 2003 document, vous devez utiliser le texte/xml type de contenu.
Ne pas spécifier content-disposition.
Ce technichs fonctionne très bien avec un Gestionnaire, pas avec WebForm.
OriginalL'auteur Franky