Ajax 导出Excel 方式

1.使用iframe 加载 使用get方式

<iframe id="comdownshow" height="0" width="0" frameborder="0" scrolling="no"></iframe>

2.使用from表单组装 使用post方式

jQuery.download = function (url, method, Name) {
jQuery('<form action="' + url + '" method="' + (method || 'post') + '">' +
'<input type="text" name="AddTimeStrat" value=""/>' +
'<input type="text" name="AddTimeEnd" value=""/>' +
'<input type="text" name="Name" value="' + Name + '"/>' +
'</form>')
.appendTo('body').submit().remove();
};

3.click对象触发

function Getexcel() {

//$("#comdownshow").attr("src", "/ModuleContext/EventAccount/Handler/EventAccountManage.ashx?type=ZHZXTJDOWN&AddTimeStrat=" + $("#txtAddTimeStrat").val() + "&AddTimeEnd=" + $("#txtAddTimeEnd").val() + "&Name=" + $("#txtName").val() + "&t=" + new Date().getTime());

$.download("/ModuleContext/EventAccount/Handler/EventAccountManage.ashx?type=ZHZXTJDOWN","post","城管科");
}

4.服务端代码ashx

string fileName = System.Web.HttpUtility.UrlEncode(name + ".xls");
context.Response.ContentType = "application/vnd.ms-excel";
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", fileName));
context.Response.Clear();
context.Response.BinaryWrite(ExportStaticDept(list).GetBuffer());

//ExportStaticDept 生成excel => public MemoryStream ExportStaticDept .....

posted @ 2017-08-23 15:22  sulin  阅读(1133)  评论(0编辑  收藏  举报