2012-09-07 92 views
0

我想讓我的頁面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文件!

任何提示或想法都會有所幫助。

我看到在其他地方同樣的問題,但不是說幫助我的現有代碼的任何答案..

回答

1

如果你有一個HTML文本包含在它的表標籤,用簡單的XLS保存爲擴展和Microsoft Excel將打開它就像一個魅力!正如我所看到的,您希望用戶下載文件,而不是在頁面中顯示其內容。你應該直接在你的ASPX頁面上重定向頁面(不使用JQuery)。我建議你在開發人員工具中使用網絡監視器來查看發生了什麼。

乾杯

+0

網絡監視器讓我更好地瞭解實際發生的事情。我創建了一個單獨的頁面,生成我所需的內容,然後將其作爲我頁面上隱藏的iframe的源代碼。我重定向使用jquery,但只針對iframe元素。我沒有使用Ajax功能。該頁面返回了一個二進制流。 – meltdownmonk

+0

完美完成!乾杯......;) – Rikki

0

Normaly你需要爲你想在這個特殊頁面中使用這個頭

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "filename=excelfile.xls"

打印所有的輸出,這將是它。 這些標題的研究,你會沒事的。

相關問題