C#で生成されたExcelスプレッドシートのシート名を設定する方法は?
質問
C#.net Webサイトで、ResponseにHTMLテーブルを書き出すことにより、Excelスプレッドシートを生成します。これはうまく機能しますが、シート名はファイル名と同じに設定されます。
これを設定する場所はありますか?インポート時に特定のシート名が必要です。
コード:
string filename = String.Format( "{0}-CopyDataBack_{1}.xls", Master.EventID.ToString(), DateTime.Now.ToString( "dd-MM-yy_HHmm" ) );
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=" + filename );
Response.Charset = "";
this.EnableViewState = false;
System.Text.StringBuilder tableOut = new System.Text.StringBuilder();
// ... Create an HTML table in a StringBuilder ...
Response.Write( tableOut );
Response.End();
解決
テーブルを作成してcontent-typeをExcelに設定することにより、ワークシート名を定義したり、ワークシートをさらに作成したりすることはできません。
OpenXML SDK 。ただし、クライアントは Word、Excel、およびPowerPoint 2007ファイル形式用Microsoft Office互換パック。
所属していません StackOverflow