ASP.Netのお勉強

Excel出力@ASP.Net

画面の内容をExcel出力します。
Response.ContentType = "application/vnd.ms-excel"とします。

以下では、ページロード時にContentTypeを設定しています。
画面が開くと、ファイルダウンロードのダイアログが開きます。

●aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default4.aspx.vb" Inherits="Default4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Excel出力</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        Excel<br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>
    </form>
</body>
</html>


●vb

Imports System.Data

Partial Class Default4
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dt As DataTable
        Dim dr As DataRow

        'GridViewに表示するデータ作成
        dt = New DataTable()

        dt.Columns.Add("A", GetType(String))
        dt.Columns.Add("B", GetType(String))

        dr = dt.NewRow
        dr("A") = "1"
        dr("B") = "2"
        dt.Rows.Add(dr)

        dr = dt.NewRow
        dr("A") = "5"
        dr("B") = "4"
        dt.Rows.Add(dr)

        'GridViewにセットして、DataBind
        Me.GridView1.DataSource = dt
        Me.GridView1.DataBind()

        'ContentTypeの設定
        Response.ContentType = "application/vnd.ms-excel"

    End Sub
End Class

Copyright (C) ASP.Netのお勉強. All Rights Reserved.