Asp.net 使用Response.TransmitFile()导出到excel

Asp.net 使用Response.TransmitFile()导出到excel,asp.net,xml,excel,Asp.net,Xml,Excel,使用asp.NET3.5,我试图生成一个格式化的excel电子表格 我的做法是: 1.用数据格式化excel表格 2.将其另存为xml spreadhseet 3.在记事本/文本板中查看,并从xml中删除“数据”,并拥有一个内容保持器 例如“dynamicata” 4.为数据构建动态xml,并用新数据替换“dynamicATA”占位符。 5.将所有这些都放在stringbuilder中 我被困在这里,我希望能够做出回应。编写(stringbuilder) 但它不起作用,我使用了适当的MIME类型

使用asp.NET3.5,我试图生成一个格式化的excel电子表格 我的做法是:

1.用数据格式化excel表格 2.将其另存为xml spreadhseet 3.在记事本/文本板中查看,并从xml中删除“数据”,并拥有一个内容保持器 例如“dynamicata” 4.为数据构建动态xml,并用新数据替换“dynamicATA”占位符。 5.将所有这些都放在stringbuilder中

我被困在这里,我希望能够做出回应。编写(stringbuilder) 但它不起作用,我使用了适当的MIME类型等

但是,当我将xml电子表格传输到浏览器时,Response.TransmitFile()就可以工作了。 但是Response.TransmitFile()将一个文件作为参数,我可以创建一个临时文件,写入创建的xml,然后进行传输,但这似乎是一个很大的开销

有没有一种方法可以不用创建文件,只需使用stringbuilder内容传输XML(),然后让用户保存电子表格


谢谢你,

也许这会对你有所帮助。输入您的代码:

Response.AppendHeader("Content-Type", "application/ms-excel");
Response.AppendHeader("Content-disposition", "attachment; filename=Rep.xls");
Response.Charset = "";
然后使用您的:

Response.Write(stringbuilder);
别忘了:

Response.End();