2010-10-05 106 views
0

使用asp.net 3.5我想生成的EXCEL表格 和我做的方式是:导出到Excel使用Response.TransmitFile()

1.Format的excel表与数据 2将它保存为xml文件夹 3.在记事本/文本板中查看它,并从xml中删除“数据”并拥有一个内容保存程序 ,例如“DYNAMICDATA” 4.为数据构建动态xml并替换“DYNAMICDATA”把这个新数据放在持有人的头上 本打算过所有一个StringBuilder

我米困在这里,我希望能够到的Response.Write(StringBuilder)对 ,但它不工作,我已经使用了适当的MIME类型等

然而Response.TransmitFile()在我向浏览器发送一个xml电子表格时起作用。 但Response.TransmitFile()接受一个文件作为参数,我可以创建一个临时文件写入创建的XML然后传输,但这看起来像一个沉重的开销。

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

谢谢,

回答

1

也许这会帮助你。把你的代码:

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

然后用你:

Response.Write(stringbuilder); 

不要忘记:

Response.End();