【Vegas原创】GridView修改表头,并导出Excel(C#版)
protected void btnExcel_Click(object sender, EventArgs e)
{
//绑定
bindgrdExcel();
//修改多行表头
ModifygrdHeader();
//导出Excel
toExcelgrdExcel();
}
/// <summary>
/// Response方法导出Excel,必须加的代码
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}
/// <summary>
/// 绑定grdExcel
/// </summary>
void bindgrdExcel()
{
DataSet ds = db.GetDataSet("procUtility_Excel");
grdExcel.DataSource = ds.Tables[0];
grdExcel.DataBind();
}
/// <summary>
/// 导出Excel
/// </summary>
void toExcelgrdExcel()
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Qty.xls");
//如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.Html32TextWriter oHtmlTextWriter = new Html32TextWriter(oStringWriter);
grdExcel.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
/// <summary>
/// 自定义多行表头
/// </summary>
void ModifygrdHeader()
{
try
{
this.grdExcel.HeaderRow.Cells.Clear();
TableCell cell = new TableCell();
cell.Text = "<tr style='background-color: #006699;font-size: 15px;color: #FFFFFF;padding: 2pt;'><td rowspan='2' style='font-size=15px'>Customer</td><td rowspan=2 style='font-size=15px'>" +
"Size</td><td rowspan='2' style='font-size=15px'>TAC Film</td><td rowspan='2' style='font-size=15px'>搭配性产品</td><td rowspan='2' style='font-size=15px'>T/B</td><td rowspan='2' style='font-size=15px'>Absorption Angle</td>" +
"<td rowspan='2' style='font-size=15px'>Dimension_X</td><td rowspan='2' style='font-size=15px'>Dimension_Y</td><td rowspan='2' style='font-size=15px'>经济幅宽</td><td colspan='2' style='font-size=15px'>1330mm</td><td colspan='2' style='font-size=15px'>1475mm</td><td colspan='2' style='font-size=15px'>2000mm</td>" +
"</tr><tr style='background-color: #006699;font-size: 12px;color: #FFFFFF;padding: 2pt;'><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td>";
this.grdExcel.HeaderRow.Cells.Add(cell);
}
catch (Exception e)
{
string url = Request.ApplicationPath + "/error.aspx?error=" + e.Message.ToString() + "&strurl=" + Request.Url.ToString() + "&way=gridheader";
Response.Redirect(url);
}
}
{
//绑定
bindgrdExcel();
//修改多行表头
ModifygrdHeader();
//导出Excel
toExcelgrdExcel();
}
/// <summary>
/// Response方法导出Excel,必须加的代码
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}
/// <summary>
/// 绑定grdExcel
/// </summary>
void bindgrdExcel()
{
DataSet ds = db.GetDataSet("procUtility_Excel");
grdExcel.DataSource = ds.Tables[0];
grdExcel.DataBind();
}
/// <summary>
/// 导出Excel
/// </summary>
void toExcelgrdExcel()
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=Qty.xls");
//如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.Html32TextWriter oHtmlTextWriter = new Html32TextWriter(oStringWriter);
grdExcel.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
/// <summary>
/// 自定义多行表头
/// </summary>
void ModifygrdHeader()
{
try
{
this.grdExcel.HeaderRow.Cells.Clear();
TableCell cell = new TableCell();
cell.Text = "<tr style='background-color: #006699;font-size: 15px;color: #FFFFFF;padding: 2pt;'><td rowspan='2' style='font-size=15px'>Customer</td><td rowspan=2 style='font-size=15px'>" +
"Size</td><td rowspan='2' style='font-size=15px'>TAC Film</td><td rowspan='2' style='font-size=15px'>搭配性产品</td><td rowspan='2' style='font-size=15px'>T/B</td><td rowspan='2' style='font-size=15px'>Absorption Angle</td>" +
"<td rowspan='2' style='font-size=15px'>Dimension_X</td><td rowspan='2' style='font-size=15px'>Dimension_Y</td><td rowspan='2' style='font-size=15px'>经济幅宽</td><td colspan='2' style='font-size=15px'>1330mm</td><td colspan='2' style='font-size=15px'>1475mm</td><td colspan='2' style='font-size=15px'>2000mm</td>" +
"</tr><tr style='background-color: #006699;font-size: 12px;color: #FFFFFF;padding: 2pt;'><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td><td>片数/M</td><td>利用率</td>";
this.grdExcel.HeaderRow.Cells.Add(cell);
}
catch (Exception e)
{
string url = Request.ApplicationPath + "/error.aspx?error=" + e.Message.ToString() + "&strurl=" + Request.Url.ToString() + "&way=gridheader";
Response.Redirect(url);
}
}
喜欢请赞赏一下啦^_^