0

このコードを作成して、2 つのタブを持つ Excel スプレッドシートを作成しますか? これは現在1つだけを行います。

string attachment = string.Empty;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);

HtmlForm frm = new HtmlForm();
frm.Attributes["runat"] = "server";

attachment = "attachment; filename=MyFile.xls";
GridView1.Parent.Controls.Add(frm);
frm.Controls.Add(GridView1);

Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";

frm.RenderControl(htw);

Response.Write(sw.ToString());

Response.End();
4

2 に答える 2

1

Excel用のMS Office InteropアセンブリまたはOpen XML SDKなどのライブラリを使用していない限り、それを行うことはできないと確信しています。

上記の方法で本物の Excel ファイルを作成するのではなく、Excel を騙して送信したデータを本物の Excel ファイルであるかのように開くだけであることに注意してください。これが、これを MS Excel で開いたときに、おそらく警告メッセージが表示される理由です。

于 2013-02-04T18:48:33.623 に答える
0

少し古い (2005) http://support.microsoft.com/kb/306023ですが、アプリケーションから Excel にデータをエクスポートする方法を詳述した Microsoft の記事があります。

これらの方法を自分で使用したことはありませんが、複数のワークシートをカバーしているようです。

于 2013-02-04T18:57:27.620 に答える