none
Excel下載 RRS feed

  • 問題

  • 您好
    請問一下
    如何讓使用者按下button後,就可以下載excel檔案 (不是按下才用gridview製作成的,而是原本就存有excel檔)
    謝謝
    2009年8月28日 上午 03:01

解答

所有回覆

  • WebClient.DownloadFile 方法 : 將具有指定之 URI 的資源下載指本機檔案。
    http://msdn.microsoft.com/zh-tw/library/system.net.webclient.downloadfile(VS.80).aspx
    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    2009年8月28日 上午 03:08
    版主
  •         //step1 取得檔案路徑 
    string file = Server.MapPath("tmp/tmp.xls"); WebClient myWebClient = new WebClient();
    //step2 查看是否有該檔案 if (System.IO.File.Exists(file)) {
    //若有此檔案,則開啟下載 myWebClient.DownloadFile(file, "tmp.xls"); }
    謝謝大大個提供
    我的寫法如上,
    但是按了按鈕還是沒反應說

    2009年8月28日 上午 03:20
  • Hi,

    你的下載指的是?
    為何參數帶的是本機路徑?!

    http://www.dotblogs.com.tw/larrynung/
    2009年8月28日 上午 03:28
  • 你是 WinForm 還是 WebForm?

    參考
    利用ASP.NET的WebClient來Download遠端File
    http://www.dotblogs.com.tw/puma/archive/2008/03/16/1678.aspx


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    • 已標示為解答 littlebin 2009年8月28日 上午 03:35
    2009年8月28日 上午 03:30
    版主
  • 我是寫webForm的
    謝謝大大的回覆
    已經ok了
    2009年8月28日 上午 03:35
  • 我是用泛型處理常式來做檔案下載,附上程式碼片段供您參考。

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
            Dim strFileName As String = context.Request("FileName")
            Dim strContentType As String = context.Request("ContentType")
            Dim strDownloadPath As String = context.Request("DownloadPath")
    
            If My.Computer.FileSystem.FileExists(strDownloadPath & "\" & strFileName) = True Then
                context.Response.HeaderEncoding = Encoding.GetEncoding("big5")
                context.Response.ContentType = strContentType
                context.Response.AddHeader("content-disposition", "attachment;filename=" & strFileName)
                context.Response.WriteFile(strDownloadPath & strFileName)
                context.Response.End()
            End If
        End Sub


    2009年8月28日 上午 03:39