C#で生成されたExcelスプレッドシートのシート名を設定する方法は?

StackOverflow https://stackoverflow.com/questions/1803511

  •  05-07-2019
  •  | 
  •  

質問

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互換パック

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top