我想讓我的頁面Data.aspx返回一個html表格,但我希望該表格是以excel格式。這是我的代碼到目前爲止。如何將html表格轉換爲Excel文件?
在Data.aspx負載:
Response.Clear()
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()
所以添加標題就是我不解。這東西我的軟件的另一個peice的使用,但我不知道是否會工作..
調用,這是用ajax jquery的:
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頁面上的「content」div中,但是我希望該html成爲一個excel文件!
任何提示或想法都會有所幫助。
我看到在其他地方同樣的問題,但不是說幫助我的現有代碼的任何答案..
網絡監視器讓我更好地瞭解實際發生的事情。我創建了一個單獨的頁面,生成我所需的內容,然後將其作爲我頁面上隱藏的iframe的源代碼。我重定向使用jquery,但只針對iframe元素。我沒有使用Ajax功能。該頁面返回了一個二進制流。 – meltdownmonk
完美完成!乾杯......;) – Rikki