2010-09-02 98 views
1

我有一个输出XML的简单(内联)ASPX页面。通过HTTP将XML导入到Excel中

我想将这个XML导入Excel 2007使用数据|来自其他来源|从XML数据导入。

如果我指定我APSX页Excel中输入网址打开该结果到文本导入向导:(

如果我直接打开我的网址,从记事本,将内容保存到一个文件,并导入到Excel中,其正确的治疗是一个XML。

任何人都可以说明为什么Excel将处理结果作为文本来当从URL任何理由?

继承人从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(); 
代码

等等等等..构建XML这里

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

    Response.End(); 
%> 

回答

2

这是胡乱猜测,但你有没有试图发送使用不同的内容类型的反应如何?

我想给它一个镜头具有以下MIME类型之一:

  • 应用程序/ XML
  • 应用程序/ vnd.ms - Excel中
  • 应用程序/ x-Excel的
  • 应用/ X-msexcel的

相关资源:

+0

第一个做到了..谢谢! – 2010-09-02 12:40:33