2010-09-02 15 views
1

J'ai une page ASPX simple (en ligne) qui est en sortie de XML. Je souhaite importer ce code XML dans Excel 2007 à l'aide de Data | D'autres sources | De l'importation de données XML.Importation de code XML dans Excel via HTTP

Si je précise l'URL de ma page APSX Excel ouvre le résultat dans l'Assistant Importation de texte :(

Si j'ouvre mon URL directement à partir de Bloc-notes, enregistrez le contenu dans un fichier et l'importer dans Excel, son correctement le traitement est un Xml.

Quelqu'un peut-il suggérer une raison pour laquelle Excel traite le résultat sous forme de texte est quand provient d'une URL?

Heres le code de la page ASPX

<%@ Page Language="C#" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.SqlClient" %> 
<%@ Import Namespace="System.Xml" %> 
<%@ Import Namespace="System.IO" %> 
<%@ Import Namespace="System.Text" %> 
<% 
    Response.Clear(); 
    Response.ContentType = "text/xml"; 
    Response.ContentEncoding = Encoding.UTF8; 

    XmlWriterSettings settings = new XmlWriterSettings(); 
    settings.Indent = true; 
    settings.Encoding = Encoding.UTF8; 
    settings.CloseOutput = false; 
    settings.CheckCharacters = true; 

    using (MemoryStream output = new MemoryStream()) 
    { 
     using (XmlWriter xml = XmlWriter.Create(output, settings)) 
     { 
      xml.WriteStartDocument(); 

bla bla .. XML construire ici

  xml.WriteEndElement(); 
      xml.Flush(); 
      xml.Close(); 
     } 
     Response.Write(Encoding.UTF8.GetString(output.ToArray())); 
    } 

    Response.End(); 
%> 

Répondre

2

Ceci est une supposition sauvage, mais avez-vous essayé d'envoyer la réponse en utilisant un type de contenu différent?

je lui donnerais un coup de feu avec l'un des types MIME suivants:

    l'application
  • /xml
  • demande
  • /vnd.ms Excel
  • application/x-Excel
  • demande
  • /x-msexcel

ressources connexes:

+0

premier l'a fait .. je vous remercie! –