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 .....