如何將我的webapp中的數據導出到ASP.NET(VB.NET,SQL 2005)的Excel工作表中?如何將我的ASP.NET頁面導出到Excel?
回答
改變你的ASP.Net頁面的contentType
Response.ContentType = "application/ms-excel"
SQL Server報表服務將是從應用程序到Excel導出數據的最佳方式。
如果您沒有訪問/不想使用報告服務,取決於您想要提取的數據/格式可能使用CSV結構而不是Excel可能是最簡單的。
使用的Microsoft.Office.Interop.Excel DLL來創建Excel文件的數據,然後提供鏈接下載使用獵人戴利的下載方法的文件...
作爲一個通用的解決方案,您可能希望考慮編寫處理程序(ashx)進行導出 - 並傳遞查詢參數以重新創建查詢以生成數據或標識符以從緩存中獲取數據(如果已緩存)。根據CSV是否足以用於Excel導出,您可以格式化數據並將其發回,將ContentType設置爲@Hunter建議或使用主互操作程序集(這將需要服務器上的Excel)來構建真正的Excel電子表格,並將其序列化爲響應流。
我更喜歡使用OLEDB連接字符串。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Excel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
不知道如何導出一個頁面,但如果你只是想導出數據集或數據表
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", fileName))
HttpContext.Current.Response.ContentType = "application/ms-excel"
Dim sw As StringWriter = New StringWriter
Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
Dim table As Table = New Table
table.RenderControl(htw)
' render the htmlwriter into the response
HttpContext.Current.Response.Write(sw.ToString)
HttpContext.Current.Response.End()
我的一個最流行的博客是如何從.NET代碼的Excel文檔,使用Excel的XML標記(這不是OpenXML的,這是標準的Excel XML) - http://www.aaron-powell.com/linq-to-xml-to-excel
我也聯繫過一個更簡單的方法用VB做9
儘管這是.NET 3.5代碼,但它可以很容易地在.NET 2.0中使用XmlDocument完成並通過這種方式創建節點。
然後,只需要在響應中設置正確的響應標題和流回。
SpreadsheetGear for .NET將做到這一點。你可以用C#找到一堆活着的ASP.NET樣本,。
聲明:我自己的SpreadsheetGear LLC
我使用幾乎相同的確切代碼CodeKiwi。如果你有一個DataTable並且想將它流式傳輸到客戶端瀏覽器,我會使用它。
如果你想要一個文件,你也可以通過每一行/列做一個簡單的循環,創建一個CSV文件,我想提供一個鏈接到客戶端 - 你可以使用CSV或XLS的文件擴展名。或者,如果您將生成的文件流式傳輸到客戶端,則會提示他們是否打開或將其保存到磁盤。
interops(很好,我最後一次嘗試它們)很適合小數據集,但沒有很好地擴展 - 對於較大的數據集來說可怕的速度很慢。
如果您可以在GridView控件中顯示數據,它本身支持「右鍵單擊 - >導出到Excel」,而無需編寫任何代碼。
- 1. 將頁面內容導出到Excel
- 2. 如何將jqgrid導出到struts2的excel頁面
- 3. Excel導出後更新ASP.NET頁面
- 4. 如何從jsp頁面導出圖表到excel頁面
- 5. 如何將JasperReport中頁面頁眉的內容導出到Excel的頁眉?
- 6. 將Gridview導出到Excel,但整個aspx頁面導出代替
- 7. 將GridView導出到Excel導出整個頁面
- 8. asp.net導出到Excel
- 9. 如何將網頁中的Excel導出
- 10. 將數據導出到asp.net中的excel
- 11. 如何asp.net頁面導出到Word使用頁眉,頁腳
- 12. 如何以頁眉/頁腳/頁面方向將列表從SharePoint導出到Excel?
- 13. 如何將頁面上顯示的數據導出爲pdf/excel?
- 14. Asp.net MVC3 - 將數據導出到Excel
- 15. ASP.Net將數據導出到Excel
- 16. 如何將excel file.xls導入到asp.net
- 17. 將asp.net頁面導出爲word文檔
- 18. 將頁面方向設置爲橫向將gridview導出到Excel?
- 19. 如何使用C#將asp.net中的gridview導出到Excel中?
- 20. Excel導出:如何將JSON數據從JavaScript導出到Excel?
- 21. 將包含圖像的頁面導出到Excel中
- 22. asp.net導出到Excel UTF-8
- 23. ASP.Net網格導出到Excel
- 24. ASP.net MVC導出到Excel
- 25. ASP.Net頁面導出爲pdf
- 26. ASP.Net頁面導出爲pdf
- 27. ASP.NET Excel導出
- 28. 如何將多個頁面的gridview數據導出到excel文檔中?
- 29. 如何將JSP頁面的一部分導出到Excel工作表
- 30. 從ColdFusion導出到Excel,如何修改頁面設置?
還應該注意的是,有些人(GASP!)沒有excel,所以也許你應該把它轉儲成CSV並讓他們弄明白。 – hunter 2009-02-23 02:48:14
也許還想確保您輸出Excel可以理解的原始表格。 – 2009-02-24 18:46:51