我有一个简单的(内联)ASPX页面,它正在输出XML。
我想使用Data |将此XML导入Excel 2007来自其他来源|来自XML数据导入。
如果我指定了APSX页面的URL,Excel会将结果打开到文本导入向导中:(
如果我直接从记事本打开我的URL,将内容保存到文件并将其导入Excel,其正确处理是一个Xml。
任何人都可以提出任何理由,为什么Excel会在来自网址时将结果视为文本?
来自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();
blah blah ..在这里构建XML
xml.WriteEndElement();
xml.Flush();
xml.Close();
}
Response.Write(Encoding.UTF8.GetString(output.ToArray()));
}
Response.End();
%>
答案 0 :(得分:2)
这是一个疯狂的猜测,但您是否尝试使用其他内容类型发送响应?
我会尝试使用以下MIME类型之一:
相关资源: