使用Response.TransmitFile()导出到Excel

时间:2010-10-05 12:20:13

标签: asp.net xml excel

使用asp.net 3.5我正在尝试生成格式化的Excel电子表格 我这样做的方式是:

1.使用数据格式化Excel工作表 2.将其保存为xml spreadhseet 3.在记事本/文本板中查看它并从xml中删除“数据”并拥有内容持有者 例如“DYNAMICDATA” 4.为数据构建动态xml,并用这些新数据替换“DYNAMICDATA”占位符。 5.在字符串构建器中有这一切

我被困在这里,我想能够Response.Write(stringbuilder) 但它不起作用,我使用了适当的MIME类型等。

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

有没有办法可以不创建文件,只需使用stringbuilder内容传递transmitXml(),并让用户保存电子表格。

谢谢,

1 个答案:

答案 0 :(得分:1)

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

Response.AppendHeader("Content-Type", "application/ms-excel");
Response.AppendHeader("Content-disposition", "attachment; filename=Rep.xls");
Response.Charset = "";

然后使用你的:

Response.Write(stringbuilder);

不要忘记:

Response.End();