2016-05-19 134 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; 
} 

然後動態地設置類代碼:

gv.CssClass = "gv"; 

documentation

「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