在导出Excel之前添加标题

时间:2013-10-16 09:17:24

标签: asp.net asp.net-mvc excel c#-4.0 c#-3.0

使用以下函数导出Excel文件。它正常工作。我将SQL数据库中的记录检索到数据表,然后导出Excel工作表。

        public ActionResult ExporttoExcel()
        {
            DataTable dt = new DataTable();
            SqlConnection con = new SqlConnection("Connection string here");
            con.Open();
            SqlCommand cmd = new SqlCommand("select * from Exportxcel", con);
            dt.Load(cmd.ExecuteReader());
            int total = 0;
            foreach (DataRow row in dt.Rows)
            {
                int salaryvalue = Convert.ToInt32(row["Salary"]);
                total = salaryvalue + total;
            }
            dt.Rows.Add(new object[] { "", "Total", total });


            if (dt.Rows.Count > 0)
            {
                string filename = "ExcelExport.xls";
                System.IO.StringWriter tw = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
                DataGrid dgGrid = new DataGrid();
                dgGrid.DataSource = dt;
                dgGrid.DataBind();
                dgGrid.RenderControl(hw);
                Response.ContentType = "application/vnd.ms-excel";
                Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename + "");
                Response.Write(tw.ToString());
                Response.End();
            }
             return View(dt);
        }

enter image description here

我的问题是我需要在Value Bind之前添加两个标题?如何做到这一点?我需要添加标题,作者如下面的屏幕截图。如何做到这一点?

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以在声明System.Web.UI.HtmlTextWriter hw之后尝试添加它

hw.Write("<table><tr><td colspan='3'>Title</td></tr>")
hw.Write("<table><tr><td colspan='3'>Author</td></tr>")