-1

私は通常、Response.Writeを使用してレポートをExcelファイルにエクスポートします。

例えば

Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyFile.xls");
Response.ContentType = "application/vnd.ms-excel";
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Response.Write("<table>");
Response.Write("<tr>");
Response.Write("<td>");
Response.Write("Hello");
Response.Write("</td>");
Response.Write("</tr>");
Response.Write("</table>");
Response.End();

ここで、複数のシートを含むExcelファイルをエクスポートしたいと思います。どうすればこれを達成できますか?

4

1 に答える 1

2

技術的に言えば、これは Excel へのエクスポートではありませんが、間違ったヘッダーを含む html を送信して、ブラウザーをだましてこのコンテンツを Excel で開くようにします。

NPOI (xls) または / およびEPPlus (xlsx) を使用して Excel エクスポートを完全に制御すると、新しいシートなどを作成できます。

更新: この SO 回答では、 DataTable から作成された Excel ファイルを返す ashx ハンドラーの例を確認できます。

C# .xlsx ファイルの作成/変更/読み取り

于 2012-04-20T11:32:15.443 に答える