C# 列值自定义-在ASP.NET中导出Excel

C# 列值自定义-在ASP.NET中导出Excel,c#,asp.net,excel,gridview,export,C#,Asp.net,Excel,Gridview,Export,我必须将gridview导出到excel工作表2003中。使用我的代码,我可以直接将数据导出到eXcel工作表中。但是,如果列有空值,那么如何在Excel工作表中替换为空字符串。有一个日期列为null,在单击导出按钮和将数据加载到excel之间是否存在任何事件处理程序。如果有,我可以比较数据库中的值,并用空字符串替换空值。在evnt处理程序中 请给我指出正确的方向 谢谢单击“导出”按钮,您可以遍历网格行并替换所需的任何内容。例如,下面的代码将用替换:: protected void btnExp

我必须将gridview导出到excel工作表2003中。使用我的代码,我可以直接将数据导出到eXcel工作表中。但是,如果列有空值,那么如何在Excel工作表中替换为空字符串。有一个日期列为null,在单击导出按钮和将数据加载到excel之间是否存在任何事件处理程序。如果有,我可以比较数据库中的值,并用空字符串替换空值。在evnt处理程序中

请给我指出正确的方向


谢谢

单击“导出”按钮,您可以遍历网格行并替换所需的任何内容。例如,下面的代码将用
替换

protected void btnExport_Click(object sender, EventArgs e)
{
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);

    string attachment = "attachment; filename=SummaryReport" + DateTime.Now.ToString() + ".xls";

    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);
    Response.ContentType = "application/ms-excel";

    foreach (GridViewRow grdRow in grdProjectTasks.Rows)
    {
        Label lblActualDuration = (Label)grdRow.FindControl("lblActualDuration");

        lblActualDuration.Text = lblActualDuration.Text.Replace(":", ".");
    }

    grdProjectTasks.RenderControl(htw);

    Response.Write(sw.ToString());
    Response.End();
}