导出Excel问题,流跟json数据的转换问题?

Delia_2009 2012-04-23 06:51:10
前台:<input id="InsertToExcel_btn" type="button" value="导出Excel" class="btn"/>

 //导出Excel功能
function inserToExcelBtnClick() {
var sendID = "";
var url = "ToExcel.action";
for (var i = 0; i < count; i++) {
sendID = sendID + ";" + treeNodeID[i];
}
sendID = sendID.slice(1);
alert(sendID);
$.post(url,
{ "type": mappingType, "list": sendID },
function() { },
"json");
};


后台ToExcel的主要代码:
 MemoryStream ms = NPOIHelper.ToExcel(RequirementDetailForXls) as MemoryStream;
context.Response.AddHeader("Content-Disposition", ("attachment;filename=" + filename));
context.Response.Charset = "UTF-8";
context.Response.ContentType = "application/json";
context.Response.BinaryWrite(ms.ToArray());

ms.Close();
ms.Dispose();


运行结果:
浏览器没有出现Excel的下载对话框,在firebug的里面看Response,是一堆乱码。

PS:菜鸟,初学,可能连问题都问得不是很清楚,还请大神们见谅,不吝赐教,谢谢!
...全文
337 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
传递正能量 2012-04-23
  • 打赏
  • 举报
回复
src长度限制2046字节,个人测试2020长度极限(IE)

HTML5貌似增加了新的通信对象,支持服务器 推,目前没有研究,你可以看看
Delia_2009 2012-04-23
  • 打赏
  • 举报
回复
请问现在的HTML5里什么技术可以解决这个问题呢?
如果用
$("#一个iframe的名字").attr("src",url+"?type="+mappingType+"&list="+sendID );

这个的话,src的长度有限制吗?因为list可能会很长很长

真的非常感谢您的回答
传递正能量 2012-04-23
  • 打赏
  • 举报
回复
异步传递文件,很抱歉,这个功能 可能要等html5了

如果你只是不想刷新页面,
你可以这样


  $.post(url,
{ "type": mappingType, "list": sendID },
function() { },
"json");


变成

  $("#一个iframe的名字").attr("src",url+"?type="+mappingType+"&list="+sendID );


参数需要 url编码 escape

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧