見出しなどの色、セルのフォントサイズや背景色を変えられるようにしたいです。
C#でお願いします。
私はこれらの人たちと幸運に恵まれました: http://officewriter.softartisans.com/OfficeWriter-257.aspx
安くはありませんが、オブジェクト モデルは非常に洗練されており、外観を自由に制御できます。(私は以前のバージョンの COM を使用しており、新しいバージョンも同様に優れていると想定しています。)
このソリューションは非常に賢いです。StringWriter を使用して、MIME タイプを使用してデータグリッドを Excel ファイルにエクスポートします。
http://blog.aasheim.org/2008/03/export-data-from-web-page-to-excel.html
MS Excel マジックに頼りたい場合は、次のように設定できます。
Response.ContentType = "application/vnd.ms-excel";
HTML 出力内にテーブルを作成し、Excel にそれを XLS ファイルであるかのように解釈させます。
非標準の色を使用する場合は、おそらく <HEAD> セクション内に追加する必要があります。これは、過去のプロジェクトの 1 つで見つけたばかりです。
<!--[if gte mso 9]>
<xml>
<o:OfficeDocumentSettings>
<o:Colors>
<o:Color>
<o:Index>16</o:Index>
<o:RGB>#E10056</o:RGB>
</o:Color>
<o:Color>
<o:Index>17</o:Index>
<o:RGB>#d4d1b8</o:RGB>
</o:Color>
</o:Colors>
</o:OfficeDocumentSettings>
</xml>
<![endif]-->
Excel COM オートメーションを使用して実際のXLS サーバー側を作成し、Response.WriteBinary 経由で送信します。
マットが答えたように