Public Class DownloadTohyo
    Inherits System.Web.UI.Page

    Private Const CON_EXCEL_NAME As String = "投票Ｔ"

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Page.Header.Title = MyProperty.システムＭ.選挙コード名称 + MyConstant.管理画面タイトル
        End If
    End Sub

    Protected Sub BtnDownload_Click(sender As Object, e As EventArgs) Handles BtnDownload.Click
        ' 投票Tを取得する
        Dim ds As DataSet1 = New DataSet1
        Using myDataBase As MyDataBase = New MyDataBase
            myDataBase.Fill投票T(ds)
        End Using

        ' エクセルをサーバのTempフォルダに作成
        Dim saveFilePath As String = MyProperty.TEMPフォルダパス + CON_EXCEL_NAME + DateTime.Now.ToString("yyyyMMddHHmmss") + MyConstant.TEMPエクセル拡張子
        Dim baseFilePath As String = MyProperty.EXCELテンプレートフォルダパス + CON_EXCEL_NAME + MyConstant.エクセル拡張子
        Using myExcel As MyExcel = New MyExcel()
            myExcel.Output投票T(saveFilePath, baseFilePath, ds)
        End Using

        ' エクセルをクライアントにダウンロード
        DownloadExcel(saveFilePath)
    End Sub

    Private Sub DownloadExcel(ByVal filePath As String)
        ' Responseクリア
        Response.Clear()
        ' HTTPヘッダー情報設定
        Dim fileName As String = MyProperty.システムＭ.選挙コード + MyProperty.システムＭ.投票所コード + _
            CON_EXCEL_NAME + DateTime.Now.ToString("yyyyMMddHHmmss") + MyConstant.エクセル拡張子
        Response.AppendHeader("Content-Disposition", "Attachment; filename*=utf-8''" + Server.UrlEncode(fileName))
        Response.ContentType = "application/msexcel"
        ' ファイル書込
        Response.WriteFile(filePath)
        ' レスポンス終了
        Response.End()
    End Sub

End Class