我正在使用 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 :(得分:0)
在这里盲目工作,但请试一试:
添加到您的样式表:
select * from table where key in (1,2,6,3,2,4,8)
然后在代码中动态设置类:
.gv tr th
{
padding: 10px;
}
.gv tr td
{
padding: 10px;
}
" GridView控件的同一列中的所有单元格具有相同的宽度。填充量应用于最宽的单元格,列中的所有其他单元格具有此单元格宽度。类似地,同一行中的所有单元格具有相同的高度。填充量应用于行中的最高单元格,行中的所有其他单元格都具有此单元格高度。不能指定单个单元格大小。"