生成xml文件,之后保存为excel的问题。

时间:2021-10-21 12:29:22
http://topic.csdn.net/u/20110408/10/673d442d-dbd2-4b0f-8707-399b2a56775e.html?seed=1928432177&r=72644227#r_72644227

帮忙看看吧。。。

13 个解决方案

#1


你把 XMl的数据读取后放在 内存 然后 动态的 创建excls 导出给他

#2


引用 1 楼 fengyarongaa 的回复:
你把 XMl的数据读取后放在 内存 然后 动态的 创建excls 导出给他


我用的是

string tmpFileName = "export.xls";
                    string tmpContent = Request["ExportContent"];//获取传递上来的文件内容
                    if (Request["ExportFile"] != "")
                    {
                        tmpFileName = Request["ExportFile"];//获取传递上来的文件名
                        tmpFileName = System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(tmpFileName));//处理中文文件名的情况                    
                    }
                    Response.Write("<script>document.close();</script>");
                    Response.Clear();
                    Response.Buffer = true;
                    Response.ContentType = "application/vnd.ms-excel";
                    Response.AddHeader("Content-Disposition", "attachment;filename=\"" + tmpFileName + "\"");
                    Response.Charset = "";
                    this.EnableViewState = false;
                    System.IO.StringWriter tmpSW = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter tmpHTW = new System.Web.UI.HtmlTextWriter(tmpSW);
                    tmpHTW.WriteLine(tmpContent);
                    Response.Write(tmpSW.ToString());
                    Response.End();


和你说的是一个意思吧...

#3


这样试试:
直接保存为aaa.xml文件到硬盘,然后更名为aaa.xls

#4


引用 3 楼 toury 的回复:
这样试试:
直接保存为aaa.xml文件到硬盘,然后更名为aaa.xls


跟上面的是一样的错误。我在调试时,试过了。

#5


这是错误提示,你自己找原因吧:

XML 语法分析错误: 缺少结尾标签

  此元素堆栈或此元素下面的堆栈发生错误:
    <ss:Workbook>
     <ss:Worksheet>
      <ss:Table>
       <ss:Row>
        <ss:Cell>
         <ss:Data>

#6


引用 5 楼 toury 的回复:
这是错误提示,你自己找原因吧:

XML 语法分析错误: 缺少结尾标签

此元素堆栈或此元素下面的堆栈发生错误:
<ss:Workbook>
<ss:Worksheet>
<ss:Table>
<ss:Row>
<ss:Cell>
<ss:Data>


是用我发的xml吗?我之前遇到过这个错误,但是贴上的代码是没有错误的呀?你是怎么做的?

#7


我拷贝了你的XML,去掉了你后加的(颜色标识之间的)内容,另存xls后打开出现的错误

#8


好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

#9


引用 8 楼 luxu001207 的回复:
好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

如果XML语法、格式正确,应该可以存xls直接打开的。我是拷贝了LZ的代码,删除了他加的内容后出错。其他没试,呵呵

#10


引用 8 楼 luxu001207 的回复:
好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

不能吧。。。03还是07?office多少的?   难道是我的07的原因吗。

#11


如果去了xsl:stylesheet和xsl:template标签呢?这个错误是怎么来的呢?“加载期间出现问题”。工作表设置。

#12


用的.netn的npoi生成的excel。

#13


楼主,我用xml也出现过类似问题,我用excel打开xml后修改其中一个值后保存,解析xml就出现了问题,我估计是excel保存会在文件末尾加东西,你试试用文本打开修改保存。

#1


你把 XMl的数据读取后放在 内存 然后 动态的 创建excls 导出给他

#2


引用 1 楼 fengyarongaa 的回复:
你把 XMl的数据读取后放在 内存 然后 动态的 创建excls 导出给他


我用的是

string tmpFileName = "export.xls";
                    string tmpContent = Request["ExportContent"];//获取传递上来的文件内容
                    if (Request["ExportFile"] != "")
                    {
                        tmpFileName = Request["ExportFile"];//获取传递上来的文件名
                        tmpFileName = System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(tmpFileName));//处理中文文件名的情况                    
                    }
                    Response.Write("<script>document.close();</script>");
                    Response.Clear();
                    Response.Buffer = true;
                    Response.ContentType = "application/vnd.ms-excel";
                    Response.AddHeader("Content-Disposition", "attachment;filename=\"" + tmpFileName + "\"");
                    Response.Charset = "";
                    this.EnableViewState = false;
                    System.IO.StringWriter tmpSW = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter tmpHTW = new System.Web.UI.HtmlTextWriter(tmpSW);
                    tmpHTW.WriteLine(tmpContent);
                    Response.Write(tmpSW.ToString());
                    Response.End();


和你说的是一个意思吧...

#3


这样试试:
直接保存为aaa.xml文件到硬盘,然后更名为aaa.xls

#4


引用 3 楼 toury 的回复:
这样试试:
直接保存为aaa.xml文件到硬盘,然后更名为aaa.xls


跟上面的是一样的错误。我在调试时,试过了。

#5


这是错误提示,你自己找原因吧:

XML 语法分析错误: 缺少结尾标签

  此元素堆栈或此元素下面的堆栈发生错误:
    <ss:Workbook>
     <ss:Worksheet>
      <ss:Table>
       <ss:Row>
        <ss:Cell>
         <ss:Data>

#6


引用 5 楼 toury 的回复:
这是错误提示,你自己找原因吧:

XML 语法分析错误: 缺少结尾标签

此元素堆栈或此元素下面的堆栈发生错误:
<ss:Workbook>
<ss:Worksheet>
<ss:Table>
<ss:Row>
<ss:Cell>
<ss:Data>


是用我发的xml吗?我之前遇到过这个错误,但是贴上的代码是没有错误的呀?你是怎么做的?

#7


我拷贝了你的XML,去掉了你后加的(颜色标识之间的)内容,另存xls后打开出现的错误

#8


好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

#9


引用 8 楼 luxu001207 的回复:
好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

如果XML语法、格式正确,应该可以存xls直接打开的。我是拷贝了LZ的代码,删除了他加的内容后出错。其他没试,呵呵

#10


引用 8 楼 luxu001207 的回复:
好奇怪...
我直接把你贴出来的xml内容存问.xls文件,可以直接打开...

不能吧。。。03还是07?office多少的?   难道是我的07的原因吗。

#11


如果去了xsl:stylesheet和xsl:template标签呢?这个错误是怎么来的呢?“加载期间出现问题”。工作表设置。

#12


用的.netn的npoi生成的excel。

#13


楼主,我用xml也出现过类似问题,我用excel打开xml后修改其中一个值后保存,解析xml就出现了问题,我估计是excel保存会在文件末尾加东西,你试试用文本打开修改保存。