ちょっとびっくり
Microsoftのサポートオンラインに乗ってはいますが…。
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.IO; namespace ExcelDownloader { /// <summary> /// WebForm1 の概要の説明です。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e) { // ページを初期化するユーザー コードをここに挿入します。 } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: この呼び出しは、ASP.NET Web フォーム デザイナで必要です。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// Designer サポートに必要なメソッドです。コード エディタで /// このメソッドのコンテンツを変更しないでください。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { this.Response.ContentType = "application/vnd.ms-excel"; this.EnableViewState = false; this.Response.ContentEncoding = System.Text.Encoding.GetEncoding("SJIS"); this.Response.Write("<table border>"); this.Response.Write("<tr>"); this.Response.Write("<td bgcolor=#FFAAAA>項目1</td>"); this.Response.Write("<td bgcolor=#FFAAAA>項目2</td>"); this.Response.Write("<td bgcolor=#FFAAAA>項目3</td>"); this.Response.Write("</tr>"); this.Response.Write("<tr>"); this.Response.Write("<td colspan=2>KEY1</td>"); this.Response.Write("<td>Val1</td>"); this.Response.Write("</tr>"); this.Response.Write("<tr>"); this.Response.Write("<td colspan=2>KEY2</td>"); this.Response.Write("<td>Val2</td>"); this.Response.Write("</tr>"); this.Response.Write("<tr>"); this.Response.Write("<td colspan=2>KEY3</td>"); this.Response.Write("<td>Val3</td>"); this.Response.Write("</tr>"); this.Response.Write("<tr>"); this.Response.Write("<td colspan=2>KEY4</td>"); this.Response.Write("<td>Val4</td>"); this.Response.Write("</tr>"); this.Response.Write("<tr>"); this.Response.Write("<td colspan=2>KEY5</td>"); this.Response.Write("<td>Val5</td>"); this.Response.Write("</tr>"); this.Response.Write("</table>"); this.Response.End(); } } }
これを実行してちょっと感動。基盤を持つと言うことの強みを見せつけられた思いです。
多分Windows + Office + IE限定な気もしますけど…。(^^;