我试图让我的页面 Data.aspx 返回一个 html 表,但我希望该表采用 excel 格式。到目前为止,这是我的代码。
在 Data.aspx 中加载:
响应.清除()
Select Case lstrCmd Case "summary" Response.Write(Summary()) Response.Cache.SetCacheability(HttpCacheability.NoCache) Case "export" Response.ContentType = "application/ms-excel" Response.AddHeader("Content-Disposition", "attachment;filename=" & _ mstrProjectName & ".xls") Response.Write(SummaryExport()) End Select Response.End()
所以添加标题是我感到困惑的地方。这是我的软件的另一个用途,但我不确定它是否会起作用..
调用它的 jquery 使用 ajax:
function btnSubmitExport_Click() { var compID = $("#ddlCompanies").val(); var projectID = $("#ddlProjects").val(); var startDate = $("#txtStartDate").val(); var endDate = $("#txtEndDate").val(); var compName = $("#ddlCompanies :selected").text(); var projectName = $("#ddlProjects :selected").text();
$("#content").html("<div class='loading'>loading...</div>");
$.ajax({
url: "Data.aspx",
data: {
CompanyID: compID,
ProjectID: projectID,
CompanyName: compName,
ProjectName: projectName,
StartDate: startDate,
EndDate: endDate,
Cmd: "export"
},
success: function(html) {
$("#content").html(html);
},
error: function(response) {
alert(response);
}
});
}
因此,通常,当我请求此数据时,我只是将生成的 html 放入我的 default.aspx 页面上的“内容”div 中。但我希望该 html 成为一个 excel 文件!
对此的任何提示或想法都会有所帮助。
我在其他地方看到了同样的问题,但没有任何答案可以帮助我使用现有代码..