2016-05-19 6 views
0

GridView私はテーブルをExcelにエクスポートするために使用しています。セルパディングが機能しません

私は私のコントローラでこれを持っている:

GridView gv = new GridView(); 

gv.DataSource = lstExportedExcel.ToList(); // lstExportedExcel does have stuff in it 
gv.DataBind(); 

gv.HeaderRow.Cells[0].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[1].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[2].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[3].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[4].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[5].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[6].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[7].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[8].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[9].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[10].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[11].BackColor = System.Drawing.Color.LightCyan; 
gv.HeaderRow.Cells[12].BackColor = System.Drawing.Color.LightCyan; 

gv.CellPadding = 10; //doesn't work 

Response.ClearContent(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", "attachment; filename=DailySummaryExport.xls"); 
Response.ContentType = "application/ms-excel"; 
Response.Charset = ""; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter htw = new HtmlTextWriter(sw); 
gv.RenderControl(htw); 
Response.Output.Write(sw.ToString()); 
Response.Flush(); 
Response.End(); 

私はこの研究を行っている、とソリューションの多くはフロントエンドにありますが、どのように私はこれが機能するのですか? Excelスプレッドシートを開くと、各セルのテキストがデフォルト境界線からパディングを取得していません。

何か助けていただければ幸いです。ここではブラインドの作業

+0

もっと明示する必要があります。これを試してみてください: http://stackoverflow.com/questions/316931/how-to-define-cellpadding-in-gridview-in-asp- net – IrishChieftain

+0

@IrishChieftainこの* gridview *の特定のビューはありません。このGridViewはオンザフライで作成されていますので、どのように* CSS *が動作するのですか?GridViewの* CssClassName *プロパティがあります。 –

答えて

0

が、これに打撃与える:あなたのコードで動的にクラスを設定すると

.gv tr th 
{ 
    padding: 10px; 
} 

.gv tr td 
{ 
    padding: 10px; 
} 

documentationパー

gv.CssClass = "gv"; 

あなたのスタイルシートに追加します:

"GridView conの同じ列にあるすべてのセルtrolは同じ幅を持ちます。パディング量は最も幅の広いセルに適用され、列内の他のすべてのセルはこのセル幅を持ちます。同様に、同じ行のすべてのセルの高さは同じです。パディング量は、行内の最も高いセルに適用され、行内の他のすべてのセルは、このセルの高さを持ちます。個々のセルサイズを指定することはできません」

+0

申し訳ありませんが運がない..効率的に動作しないときに* CellPadding *プロパティを持っている理由がわかりません。 –

+0

これを見てみましょうあなたがそれを使って遊んでいればうまくいくはずです: http://stackoverflow.com/questions/607547/define-global-site-style-for-aspgridview-with-plain-css-without-using-vs-skins – IrishChieftain

関連する問題