2014年4月17日 星期四

ASP.NET中將DataTable匯出為Excel檔

------------------測試可用方法------------------------
Protected Sub ButtonToExcel_Click(sender As Object, e As System.EventArgs) Handles ButtonToExcel.Click

        Dim style As String = "<style> .text { mso-number-format:\@; } </script> "
        Dim sw As New System.IO.StringWriter
        Dim hw As New System.Web.UI.HtmlTextWriter(sw)
        Response.AppendHeader("Content-Disposition", "attachment; filename=DormInfo_" & Format(Now, "yyyymmdd_HHmm") & ".xls")
        Response.ContentType = "application/vnd.ms-excel"
        Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>")
        GridView1.RenderControl(hw)
        Response.Write(style)
        Response.Write(sw.ToString())
        Response.End()

    End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
        '處理'GridView' 的控制項 'GridView' 必須置於有 runat=server 的表單標記之中 
    End Sub
<%@ Page Language="VB"  CodeFile="searchname.aspx.vb" Inherits="searchname" AutoEventWireup="true" EnableEventValidation="false" MaintainScrollPositionOnPostback="true"%>

----------------------以下是參考文件---------------------




相關問題(ASP.NET與Excel)我也曾遇見過,所以蒐集了一些資料,放在我的BLOG與大家共享:


[NPOI 2.0] ASP.NET 輸出 Excel (.xlsx檔 2007格式) -- ASP.NET Export to Excel (.xlsx)
http://www.dotblogs.com.tw/mis2000lab/archive/2014/07/02/npoi-20-for-aspnet_20140703.aspx


-----------------------------------------------------------------------

1.  如果Excel欄位與資料庫完全相同

那就簡單了,也有更好的工作去完成這種資料匯入的動作。

甚至不需要自己寫程式。


2. 如果Excel欄位與資料庫「不同」

那麼,您只好在EXCEL裡面,一筆一筆記錄來讀取

然後一筆一筆地回寫到資料庫裡面,使用 Insert Into這樣的SQL指令。

請看這一篇文章,如何讀取 Excel裡面的資料 ---- 透過Jet.OLEDB 讀取Excel裡面的資料- MIS2000 Lab. 的ASP.NET專題實務 ...

參考資料我的ASP.NET教學網站--www.dotblogs.com.tw/mis2000lab/

http://pcdou.pixnet.net/blog/post/24075850-.net-excel%E5%8C%AF%E5%85%A5-(c%23)



-->


ASP.NET - Gridview匯出Excel簡易方式 & 指定為純文字樣式
http://blog.yam.com/weilin98/article/28941568

沒有留言: